org.apache.abdera.model
Interface Link

All Superinterfaces:
Base, Cloneable, Element, ExtensibleElement, Iterable<Element>

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 String IANA_BASE
           
static String REL_ALTERNATE
           
static String REL_ALTERNATE_IANA
           
static String REL_CURRENT
           
static String REL_CURRENT_IANA
           
static String REL_EDIT
           
static String REL_EDIT_IANA
           
static String REL_EDIT_MEDIA
           
static String REL_EDIT_MEDIA_IANA
           
static String REL_ENCLOSURE
           
static String REL_ENCLOSURE_IANA
           
static String REL_FIRST
           
static String REL_FIRST_IANA
           
static String REL_LAST
           
static String REL_LAST_IANA
           
static String REL_LICENSE
           
static String REL_LICENSE_IANA
           
static String REL_NEXT
           
static String REL_NEXT_IANA
           
static String REL_PAYMENT
           
static String REL_PAYMENT_IANA
           
static String REL_PREVIOUS
           
static String REL_PREVIOUS_IANA
           
static String REL_RELATED
           
static String REL_RELATED_IANA
           
static String REL_REPLIES
           
static String REL_REPLIES_IANA
           
static String REL_SELF
           
static String REL_SELF_IANA
           
static String REL_SERVICE
           
static String REL_SERVICE_IANA
           
static String REL_VIA
           
static String REL_VIA_IANA
           
 
Method Summary
 IRI getHref()
          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].
 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.
 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
 String getTitle()
          RFC4287: The "title" attribute conveys human-readable information about the link.
 Link setHref(String href)
          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].
 Link setHrefLang(String lang)
          RFC4287: The "hreflang" attribute's content describes the language of the resource pointed to by the href attribute.
 Link 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.
 Link setMimeType(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.
 Link setRel(String rel)
           RFC4287: atom:link elements MAY have a "rel" attribute that indicates the link relation type.
 Link setTitle(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, 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, getElements, getExtensionAttributes, getFirstChild, getFirstChild, getLanguage, getLanguageTag, getLocale, getMustPreserveWhitespace, getNamespaces, getNextSibling, getNextSibling, getParentElement, getPreviousSibling, getPreviousSibling, getQName, getResolvedBaseUri, getText, removeAttribute, removeAttribute, setAttributeValue, setAttributeValue, setBaseUri, setBaseUri, setLanguage, setMustPreserveWhitespace, setParentElement, setText, setText
 
Methods inherited from interface org.apache.abdera.model.Base
addComment, clone, complete, getDefaultWriterOptions, getFactory, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo, writeTo
 
Methods inherited from interface java.lang.Iterable
iterator
 

Field Detail

REL_ALTERNATE

static final String REL_ALTERNATE
See Also:
Constant Field Values

REL_CURRENT

static final String REL_CURRENT
See Also:
Constant Field Values

REL_ENCLOSURE

static final String REL_ENCLOSURE
See Also:
Constant Field Values

REL_FIRST

static final String REL_FIRST
See Also:
Constant Field Values

REL_LAST

static final String REL_LAST
See Also:
Constant Field Values

REL_NEXT

static final String REL_NEXT
See Also:
Constant Field Values

REL_PAYMENT

static final String REL_PAYMENT
See Also:
Constant Field Values

REL_PREVIOUS

static final String REL_PREVIOUS
See Also:
Constant Field Values

REL_RELATED

static final String REL_RELATED
See Also:
Constant Field Values

REL_SELF

static final String REL_SELF
See Also:
Constant Field Values

REL_VIA

static final String REL_VIA
See Also:
Constant Field Values

REL_REPLIES

static final String REL_REPLIES
See Also:
Constant Field Values

REL_LICENSE

static final String REL_LICENSE
See Also:
Constant Field Values

REL_EDIT

static final String REL_EDIT
See Also:
Constant Field Values

REL_EDIT_MEDIA

static final String REL_EDIT_MEDIA
See Also:
Constant Field Values

REL_SERVICE

static final String REL_SERVICE
See Also:
Constant Field Values

IANA_BASE

static final String IANA_BASE
See Also:
Constant Field Values

REL_ALTERNATE_IANA

static final String REL_ALTERNATE_IANA
See Also:
Constant Field Values

REL_CURRENT_IANA

static final String REL_CURRENT_IANA
See Also:
Constant Field Values

REL_ENCLOSURE_IANA

static final String REL_ENCLOSURE_IANA
See Also:
Constant Field Values

REL_FIRST_IANA

static final String REL_FIRST_IANA
See Also:
Constant Field Values

REL_LAST_IANA

static final String REL_LAST_IANA
See Also:
Constant Field Values

REL_NEXT_IANA

static final String REL_NEXT_IANA
See Also:
Constant Field Values

REL_PAYMENT_IANA

static final String REL_PAYMENT_IANA
See Also:
Constant Field Values

REL_PREVIOUS_IANA

static final String REL_PREVIOUS_IANA
See Also:
Constant Field Values

REL_RELATED_IANA

static final String REL_RELATED_IANA
See Also:
Constant Field Values

REL_SELF_IANA

static final String REL_SELF_IANA
See Also:
Constant Field Values

REL_VIA_IANA

static final String REL_VIA_IANA
See Also:
Constant Field Values

REL_REPLIES_IANA

static final String REL_REPLIES_IANA
See Also:
Constant Field Values

REL_LICENSE_IANA

static final String REL_LICENSE_IANA
See Also:
Constant Field Values

REL_EDIT_IANA

static final String REL_EDIT_IANA
See Also:
Constant Field Values

REL_EDIT_MEDIA_IANA

static final String REL_EDIT_MEDIA_IANA
See Also:
Constant Field Values

REL_SERVICE_IANA

static final String REL_SERVICE_IANA
See Also:
Constant Field Values
Method Detail

getHref

IRI getHref()
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()
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

Link setHref(String href)
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

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

Link setRel(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()
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:
MimeTypeParseException - if the type is malformed

setMimeType

Link setMimeType(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. 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:
MimeTypeParseException - if the type is malformed

getHrefLang

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

Link setHrefLang(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

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

Link setTitle(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

Link 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


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.