<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_26) on Wed Sep 14 22:31:10 PDT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
IRIElement (Abdera2 Core 2.0-SNAPSHOT API)
</TITLE>

<META NAME="date" CONTENT="2011-09-14">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="IRIElement (Abdera2 Core 2.0-SNAPSHOT API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IRIElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/abdera2/model/Generator.html" title="interface in org.apache.abdera2.model"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/abdera2/model/Link.html" title="interface in org.apache.abdera2.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/abdera2/model/IRIElement.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="IRIElement.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.abdera2.model</FONT>
<BR>
Interface IRIElement</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/apache/abdera2/model/Base.html" title="interface in org.apache.abdera2.model">Base</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html" title="interface in org.apache.abdera2.model">Element</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</A>&lt;<A HREF="../../../../org/apache/abdera2/model/Element.html" title="interface in org.apache.abdera2.model">Element</A>&gt;</DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/abdera2/parser/axiom/FOMIRI.html" title="class in org.apache.abdera2.parser.axiom">FOMIRI</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>IRIElement</B><DT>extends <A HREF="../../../../org/apache/abdera2/model/Element.html" title="interface in org.apache.abdera2.model">Element</A></DL>
</PRE>

<P>
<p>
 The IRI interface provides a common base for a set of feed and entry elements whose content value must be a valid
 IRI/URI reference. These include the elements atom:icon, atom:logo, and atom:id.
 </p>
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.apache.abdera2.model.Element"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.apache.abdera2.model.<A HREF="../../../../org/apache/abdera2/model/Element.html" title="interface in org.apache.abdera2.model">Element</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/abdera2/model/Element.Helper.html" title="class in org.apache.abdera2.model">Element.Helper</A></CODE></TD>
</TR>
</TABLE>
&nbsp;

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.apache.abdera2.common.iri.IRI</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/model/IRIElement.html#getResolvedValue()">getResolvedValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the element resolved against the current in-scope Base URI</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.apache.abdera2.common.iri.IRI</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/model/IRIElement.html#getValue()">getValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the element as a java.net.URI</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/model/IRIElement.html" title="interface in org.apache.abdera2.model">IRIElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/model/IRIElement.html#setNormalizedValue(java.lang.String)">setNormalizedValue</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;iri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of this element using the normalization as specified in RFC4287</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/model/IRIElement.html" title="interface in org.apache.abdera2.model">IRIElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/model/IRIElement.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;iri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the element</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.abdera2.model.Element"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.abdera2.model.<A HREF="../../../../org/apache/abdera2/model/Element.html" title="interface in org.apache.abdera2.model">Element</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/abdera2/model/Element.html#declareNS(java.lang.String, java.lang.String)">declareNS</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#discard()">discard</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getAttributes()">getAttributes</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getAttributeValue(javax.xml.namespace.QName)">getAttributeValue</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getAttributeValue(java.lang.String)">getAttributeValue</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getBaseUri()">getBaseUri</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getDocument()">getDocument</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getElements()">getElements</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getElements(org.apache.abdera2.common.selector.Selector)">getElements</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getExtensionAttributes()">getExtensionAttributes</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getFirstChild()">getFirstChild</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getFirstChild(javax.xml.namespace.QName)">getFirstChild</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getLanguage()">getLanguage</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getLanguageTag()">getLanguageTag</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getLocale()">getLocale</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getMustPreserveWhitespace()">getMustPreserveWhitespace</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getNamespaces()">getNamespaces</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getNextSibling()">getNextSibling</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getNextSibling(javax.xml.namespace.QName)">getNextSibling</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getParentElement()">getParentElement</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getPreviousSibling()">getPreviousSibling</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getPreviousSibling(javax.xml.namespace.QName)">getPreviousSibling</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getQName()">getQName</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getResolvedBaseUri()">getResolvedBaseUri</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#getText()">getText</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#has(javax.xml.namespace.QName)">has</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#hasAttribute(java.lang.String)">hasAttribute</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#removeAttribute(javax.xml.namespace.QName)">removeAttribute</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#removeAttribute(java.lang.String)">removeAttribute</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setAttributeValue(javax.xml.namespace.QName, java.lang.String)">setAttributeValue</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setAttributeValue(java.lang.String, java.lang.String)">setAttributeValue</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setBaseUri(org.apache.abdera2.common.iri.IRI)">setBaseUri</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setBaseUri(java.lang.String)">setBaseUri</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setLanguage(java.lang.String)">setLanguage</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setMustPreserveWhitespace(boolean)">setMustPreserveWhitespace</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setParentElement(org.apache.abdera2.model.Element)">setParentElement</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setText(javax.activation.DataHandler)">setText</A>, <A HREF="../../../../org/apache/abdera2/model/Element.html#setText(java.lang.String)">setText</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.abdera2.model.Base"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.abdera2.model.<A HREF="../../../../org/apache/abdera2/model/Base.html" title="interface in org.apache.abdera2.model">Base</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/abdera2/model/Base.html#addComment(java.lang.String)">addComment</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#clone()">clone</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#complete()">complete</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#getDefaultWriterOptions()">getDefaultWriterOptions</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#getFactory()">getFactory</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.io.OutputStream)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.io.OutputStream, org.apache.abdera2.writer.WriterOptions)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.lang.String, java.io.OutputStream)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.lang.String, java.io.OutputStream, org.apache.abdera2.writer.WriterOptions)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.lang.String, java.io.Writer)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.lang.String, java.io.Writer, org.apache.abdera2.writer.WriterOptions)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.io.Writer)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(org.apache.abdera2.writer.Writer, java.io.OutputStream)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(org.apache.abdera2.writer.Writer, java.io.OutputStream, org.apache.abdera2.writer.WriterOptions)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(org.apache.abdera2.writer.Writer, java.io.Writer)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(java.io.Writer, org.apache.abdera2.writer.WriterOptions)">writeTo</A>, <A HREF="../../../../org/apache/abdera2/model/Base.html#writeTo(org.apache.abdera2.writer.Writer, java.io.Writer, org.apache.abdera2.writer.WriterOptions)">writeTo</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Iterable"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true#iterator()" title="class or interface in java.lang">iterator</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getValue()"><!-- --></A><H3>
getValue</H3>
<PRE>
org.apache.abdera2.common.iri.IRI <B>getValue</B>()</PRE>
<DL>
<DD>Returns the value of the element as a java.net.URI
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The IRI value of this element</DL>
</DD>
</DL>
<HR>

<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
setValue</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/model/IRIElement.html" title="interface in org.apache.abdera2.model">IRIElement</A> <B>setValue</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;iri)</PRE>
<DL>
<DD>Sets the value of the element
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>iri</CODE> - The iri value
<DT><B>Throws:</B>
<DD><CODE>IRISyntaxException</CODE> - if the value is malformed</DL>
</DD>
</DL>
<HR>

<A NAME="setNormalizedValue(java.lang.String)"><!-- --></A><H3>
setNormalizedValue</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/model/IRIElement.html" title="interface in org.apache.abdera2.model">IRIElement</A> <B>setNormalizedValue</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;iri)</PRE>
<DL>
<DD>Set the value of this element using the normalization as specified in RFC4287
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>iri</CODE> - A non-normalized IRI
<DT><B>Throws:</B>
<DD><CODE>IRISyntaxException</CODE> - if the iri is malformed</DL>
</DD>
</DL>
<HR>

<A NAME="getResolvedValue()"><!-- --></A><H3>
getResolvedValue</H3>
<PRE>
org.apache.abdera2.common.iri.IRI <B>getResolvedValue</B>()</PRE>
<DL>
<DD>Returns the value of the element resolved against the current in-scope Base URI
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The resolved IRI value</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IRIElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/abdera2/model/Generator.html" title="interface in org.apache.abdera2.model"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/abdera2/model/Link.html" title="interface in org.apache.abdera2.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/abdera2/model/IRIElement.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="IRIElement.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2006-2011 <a href="http://www.apache.org/">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
