org.apache.abdera.model
Interface Link

All Superinterfaces:
Base, java.lang.Cloneable, Element, ExtensibleElement

public interface Link
extends ExtensibleElement

Represents an Atom Link element.

Per RFC4287:

  The "atom:link" element defines a reference from an entry or feed to
  a Web resource.  This specification assigns no meaning to the content
  (if any) of this element.

  atomLink =
     element atom:link {
        atomCommonAttributes,
        attribute href { atomUri },
        attribute rel { atomNCName | atomUri }?,
        attribute type { atomMediaType }?,
        attribute hreflang { atomLanguageTag }?,
        attribute title { text }?,
        attribute length { text }?,
        undefinedContent
     }
 


Field Summary
static java.lang.String IANA_BASE
           
static java.lang.String REL_ALTERNATE
           
static java.lang.String REL_ALTERNATE_IANA
           
static java.lang.String REL_CURRENT
           
static java.lang.String REL_CURRENT_IANA
           
static java.lang.String REL_EDIT
           
static java.lang.String REL_EDIT_IANA
           
static java.lang.String REL_EDIT_MEDIA
           
static java.lang.String REL_EDIT_MEDIA_IANA
           
static java.lang.String REL_ENCLOSURE
           
static java.lang.String REL_ENCLOSURE_IANA
           
static java.lang.String REL_FIRST
           
static java.lang.String REL_FIRST_IANA
           
static java.lang.String REL_LAST
           
static java.lang.String REL_LAST_IANA
           
static java.lang.String REL_LICENSE
           
static java.lang.String REL_LICENSE_IANA
           
static java.lang.String REL_NEXT
           
static java.lang.String REL_NEXT_IANA
           
static java.lang.String REL_PAYMENT
           
static java.lang.String REL_PAYMENT_IANA
           
static java.lang.String REL_PREVIOUS
           
static java.lang.String REL_PREVIOUS_IANA
           
static java.lang.String REL_RELATED
           
static java.lang.String REL_RELATED_IANA
           
static java.lang.String REL_REPLIES
           
static java.lang.String REL_REPLIES_IANA
           
static java.lang.String REL_SELF
           
static java.lang.String REL_SELF_IANA
           
static java.lang.String REL_VIA
           
static java.lang.String REL_VIA_IANA
           
 
Method Summary
 IRI getHref()
          RFC4287: The "href" attribute contains the link's IRI.
 java.lang.String getHrefLang()
          RFC4287: The "hreflang" attribute's content describes the language of the resource pointed to by the href attribute.
 long getLength()
          RFC4287: The "length" attribute indicates an advisory length of the linked content in octets; it is a hint about the content length of the representation returned when the URI in the href attribute is mapped to a IRI and dereferenced.
 javax.activation.MimeType getMimeType()
          RFC4287: On the link element, the "type" attribute's value is an advisory media type: it is a hint about the type of the representation that is expected to be returned when the value of the href attribute is dereferenced.
 java.lang.String getRel()
          RFC4287: atom:link elements MAY have a "rel" attribute that indicates the link relation type.
 IRI getResolvedHref()
          Returns the value of the link's href attribute resolved against the in-scope Base IRI
 java.lang.String getTitle()
          RFC4287: The "title" attribute conveys human-readable information about the link.
 void setHref(java.lang.String href)
          RFC4287: The "href" attribute contains the link's IRI.
 void setHrefLang(java.lang.String lang)
          RFC4287: The "hreflang" attribute's content describes the language of the resource pointed to by the href attribute.
 void setLength(long length)
          RFC4287: The "length" attribute indicates an advisory length of the linked content in octets; it is a hint about the content length of the representation returned when the IRI in the href attribute is mapped to a URI and dereferenced.
 void setMimeType(java.lang.String type)
          RFC4287: On the link element, the "type" attribute's value is an advisory media type: it is a hint about the type of the representation that is expected to be returned when the value of the href attribute is dereferenced.
 void setRel(java.lang.String rel)
          RFC4287: atom:link elements MAY have a "rel" attribute that indicates the link relation type.
 void setTitle(java.lang.String title)
          RFC4287: The "title" attribute conveys human-readable information about the link.
 
Methods inherited from interface org.apache.abdera.model.ExtensibleElement
addExtension, addExtension, addExtension, addSimpleExtension, addSimpleExtension, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getSimpleExtension, getSimpleExtension
 
Methods inherited from interface org.apache.abdera.model.Element
declareNS, discard, getAttributes, getAttributeValue, getAttributeValue, getBaseUri, getDocument, getExtensionAttributes, getFirstChild, getFirstChild, getLanguage, getLanguageTag, getLocale, getNextSibling, getNextSibling, getParentElement, getPreviousSibling, getPreviousSibling, getQName, getResolvedBaseUri, getText, removeAttribute, setAttributeValue, setAttributeValue, setBaseUri, setBaseUri, setLanguage, setParentElement, setText
 
Methods inherited from interface org.apache.abdera.model.Base
addComment, clone, getFactory, writeTo, writeTo
 

Field Detail

REL_ALTERNATE

static final java.lang.String REL_ALTERNATE
See Also:
Constant Field Values

REL_CURRENT

static final java.lang.String REL_CURRENT
See Also:
Constant Field Values

REL_ENCLOSURE

static final java.lang.String REL_ENCLOSURE
See Also:
Constant Field Values

REL_FIRST

static final java.lang.String REL_FIRST
See Also:
Constant Field Values

REL_LAST

static final java.lang.String REL_LAST
See Also:
Constant Field Values

REL_NEXT

static final java.lang.String REL_NEXT
See Also:
Constant Field Values

REL_PAYMENT

static final java.lang.String REL_PAYMENT
See Also:
Constant Field Values

REL_PREVIOUS

static final java.lang.String REL_PREVIOUS
See Also:
Constant Field Values

REL_RELATED

static final java.lang.String REL_RELATED
See Also:
Constant Field Values

REL_SELF

static final java.lang.String REL_SELF
See Also:
Constant Field Values

REL_VIA

static final java.lang.String REL_VIA
See Also:
Constant Field Values

REL_REPLIES

static final java.lang.String REL_REPLIES
See Also:
Constant Field Values

REL_LICENSE

static final java.lang.String REL_LICENSE
See Also:
Constant Field Values

REL_EDIT

static final java.lang.String REL_EDIT
See Also:
Constant Field Values

REL_EDIT_MEDIA

static final java.lang.String REL_EDIT_MEDIA
See Also:
Constant Field Values

IANA_BASE

static final java.lang.String IANA_BASE
See Also:
Constant Field Values

REL_ALTERNATE_IANA

static final java.lang.String REL_ALTERNATE_IANA
See Also:
Constant Field Values

REL_CURRENT_IANA

static final java.lang.String REL_CURRENT_IANA
See Also:
Constant Field Values

REL_ENCLOSURE_IANA

static final java.lang.String REL_ENCLOSURE_IANA
See Also:
Constant Field Values

REL_FIRST_IANA

static final java.lang.String REL_FIRST_IANA
See Also:
Constant Field Values

REL_LAST_IANA

static final java.lang.String REL_LAST_IANA
See Also:
Constant Field Values

REL_NEXT_IANA

static final java.lang.String REL_NEXT_IANA
See Also:
Constant Field Values

REL_PAYMENT_IANA

static final java.lang.String REL_PAYMENT_IANA
See Also:
Constant Field Values

REL_PREVIOUS_IANA

static final java.lang.String REL_PREVIOUS_IANA
See Also:
Constant Field Values

REL_RELATED_IANA

static final java.lang.String REL_RELATED_IANA
See Also:
Constant Field Values

REL_SELF_IANA

static final java.lang.String REL_SELF_IANA
See Also:
Constant Field Values

REL_VIA_IANA

static final java.lang.String REL_VIA_IANA
See Also:
Constant Field Values

REL_REPLIES_IANA

static final java.lang.String REL_REPLIES_IANA
See Also:
Constant Field Values

REL_LICENSE_IANA

static final java.lang.String REL_LICENSE_IANA
See Also:
Constant Field Values

REL_EDIT_IANA

static final java.lang.String REL_EDIT_IANA
See Also:
Constant Field Values

REL_EDIT_MEDIA_IANA

static final java.lang.String REL_EDIT_MEDIA_IANA
See Also:
Constant Field Values
Method Detail

getHref

IRI getHref()
            throws IRISyntaxException
RFC4287: The "href" attribute contains the link's IRI. atom:link elements MUST have an href attribute, whose value MUST be a IRI reference [RFC3987].

Returns:
The href IRI value
Throws:
IRISyntaxException - if the href is malformed

getResolvedHref

IRI getResolvedHref()
                    throws IRISyntaxException
Returns the value of the link's href attribute resolved against the in-scope Base IRI

Returns:
The href IRI value
Throws:
IRISyntaxException - if the href is malformed

setHref

void setHref(java.lang.String href)
             throws IRISyntaxException
RFC4287: The "href" attribute contains the link's IRI. atom:link elements MUST have an href attribute, whose value MUST be a IRI reference [RFC3987].

Parameters:
href - The href IRI
Throws:
IRISyntaxException - if the href is malformed

getRel

java.lang.String getRel()

RFC4287: atom:link elements MAY have a "rel" attribute that indicates the link relation type. If the "rel" attribute is not present, the link element MUST be interpreted as if the link relation type is "alternate"... The value of "rel" MUST be a string that is non-empty and matches either the "isegment-nz-nc" or the "IRI" production in [RFC3987]. Note that use of a relative reference other than a simple name is not allowed. If a name is given, implementations MUST consider the link relation type equivalent to the same name registered within the IANA Registry of Link Relations (Section 7), and thus to the IRI that would be obtained by appending the value of the rel attribute to the string "http://www.iana.org/assignments/relation/". The value of "rel" describes the meaning of the link, but does not impose any behavioral requirements on Atom Processors.

Returns:
The rel attribute value

setRel

void setRel(java.lang.String rel)

RFC4287: atom:link elements MAY have a "rel" attribute that indicates the link relation type. If the "rel" attribute is not present, the link element MUST be interpreted as if the link relation type is "alternate"... The value of "rel" MUST be a string that is non-empty and matches either the "isegment-nz-nc" or the "IRI" production in [RFC3987]. Note that use of a relative reference other than a simple name is not allowed. If a name is given, implementations MUST consider the link relation type equivalent to the same name registered within the IANA Registry of Link Relations (Section 7), and thus to the IRI that would be obtained by appending the value of the rel attribute to the string "http://www.iana.org/assignments/relation/". The value of "rel" describes the meaning of the link, but does not impose any behavioral requirements on Atom Processors.

Parameters:
rel - The rel attribute value

getMimeType

javax.activation.MimeType getMimeType()
                                      throws javax.activation.MimeTypeParseException
RFC4287: On the link element, the "type" attribute's value is an advisory media type: it is a hint about the type of the representation that is expected to be returned when the value of the href attribute is dereferenced. Note that the type attribute does not override the actual media type returned with the representation. Link elements MAY have a type attribute, whose value MUST conform to the syntax of a MIME media type [MIMEREG].

Returns:
The value of the type attribute
Throws:
javax.activation.MimeTypeParseException - if the type is malformed

setMimeType

void setMimeType(java.lang.String type)
                 throws javax.activation.MimeTypeParseException
RFC4287: On the link element, the "type" attribute's value is an advisory media type: it is a hint about the type of the representation that is expected to be returned when the value of the href attribute is dereferenced. Note that the type attribute does not override the actual media type returned with the representation. Link elements MAY have a type attribute, whose value MUST conform to the syntax of a MIME media type [MIMEREG].

Parameters:
type - The link type
Throws:
javax.activation.MimeTypeParseException - if the type is malformed

getHrefLang

java.lang.String getHrefLang()
RFC4287: The "hreflang" attribute's content describes the language of the resource pointed to by the href attribute. When used together with the rel="alternate", it implies a translated version of the entry. Link elements MAY have an hreflang attribute, whose value MUST be a language tag [RFC3066].

Returns:
The hreflang value

setHrefLang

void setHrefLang(java.lang.String lang)
RFC4287: The "hreflang" attribute's content describes the language of the resource pointed to by the href attribute. When used together with the rel="alternate", it implies a translated version of the entry. Link elements MAY have an hreflang attribute, whose value MUST be a language tag [RFC3066].

Parameters:
lang - The hreflang value

getTitle

java.lang.String getTitle()
RFC4287: The "title" attribute conveys human-readable information about the link. The content of the "title" attribute is Language-Sensitive. Entities such as "&amp;" and "&lt;" represent their corresponding characters ("&" and "<", respectively), not markup. Link elements MAY have a title attribute.

Returns:
The title attribute

setTitle

void setTitle(java.lang.String title)
RFC4287: The "title" attribute conveys human-readable information about the link. The content of the "title" attribute is Language-Sensitive. Entities such as "&amp;" and "&lt;" represent their corresponding characters ("&" and "<", respectively), not markup. Link elements MAY have a title attribute.

Parameters:
title - The title attribute

getLength

long getLength()
RFC4287: The "length" attribute indicates an advisory length of the linked content in octets; it is a hint about the content length of the representation returned when the URI in the href attribute is mapped to a IRI and dereferenced. Note that the length attribute does not override the actual content length of the representation as reported by the underlying protocol. Link elements MAY have a length attribute.

Returns:
The length attribute value

setLength

void setLength(long length)
RFC4287: The "length" attribute indicates an advisory length of the linked content in octets; it is a hint about the content length of the representation returned when the IRI in the href attribute is mapped to a URI and dereferenced. Note that the length attribute does not override the actual content length of the representation as reported by the underlying protocol. Link elements MAY have a length attribute.

Parameters:
length - The length attribute value