yarfraw.core.datamodel
Class Id

java.lang.Object
  extended by yarfraw.core.datamodel.Id
All Implemented Interfaces:
Serializable

public class Id
extends Object

This maps to both <guid> in Rss and <id> in Atom. Note: it is not supported by Rss 1.0 format.

Rss 2.0 description:
Guid is an optional sub-element of ItemEntry.
guid stands for globally unique identifier. It's a string that uniquely identifies the item. When present, an aggregator may choose to use this string to determine if an item is new. <guid>http://some.server.com/weblogItem3207</guid>

There are no rules for the syntax of a guid. Aggregators must view them as a string. It's up to the source of the feed to establish the uniqueness of the string.

If the guid element has an attribute named "isPermaLink" with a value of true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser, that points to the full item described by the ItemEntry element.
An example: <guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>

isPermaLink is optional, its default value is true. If its value is false, the guid may not be assumed to be a url, or a url to anything in particular.

Atom 1.0 description:
The "atom:id" element conveys a permanent, universally unique identifier for an entry or feed.

Author:
jliang
See Also:
Serialized Form

Field Summary
protected  String _about
           
protected  String _base
           
protected  String _lang
           
protected  Map<QName,String> _otherAttributes
           
protected  List<Element> _otherElements
           
protected  String _resource
           
 
Constructor Summary
Id()
           
Id(String idValue)
           
 
Method Summary
 Id addOtherAttributes(QName namespace, String attribute)
          Add an attribute that is not in the RSS 2.0 specs.
 boolean equals(Object other)
           
 String getAbout()
          This maps to the required 'about' attribute that present of all second level elements (channel, image, item, and textinput).
 String getAttributeValueByLocalName(String localName)
          Search for attributes that are not in the spec by its local name.
 String getAttributeValueByQName(QName name)
          Search for attributes that are not in the spec by its QName.
 String getBase()
          This maps to the 'base' attribute that is common in all Atom 1.0 elements.
 Element getElementByLocalName(String localName)
          Search through the other element list and return the FIRST element that matches the input localName.
 Element getElementByNS(String namespaceURI, String localName)
          Search through the other element list and return the first element that matches both input the namespaceURI and the localName.
 String getIdValue()
           
 String getLang()
          The language attribute indicates the language that is used by the enclosed element.
 Locale getLangAsLocale()
          The language attribute indicates the language that is used by the enclosed element.
 Map<QName,String> getOtherAttributes()
          Any other attribute that is not in the RSS specs.
 List<Element> getOtherElements()
          Other additional elements that are not in the Rss specs.
 String getResource()
          This maps to the optional 'resource' attribute that present in some Rss 1.0 elements.
 int hashCode()
           
 Boolean isPermaLink()
          This field is only used by Rss 2.0.
 Id setBase(String base)
          Atom 1.0 only
Any element defined by this specification MAY have an xml:base attribute [W3C.REC-xmlbase-20010627].
 Id setIdValue(String idValue)
           
 Id setLang(Locale lang)
          Rss 2.0 - <language> element.
 Id setLang(String lang)
          Rss 2.0 - <language> element.
 Id setOtherAttributes(Map<QName,String> otherAttributes)
          Any other attribute that is not in the RSS 2.0 specs.
 Id setPermaLink(Boolean isPermaLink)
          This field is only used by Rss 2.0.
 String toString()
           
 void validate(FeedFormat format)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_base

protected String _base

_lang

protected String _lang

_resource

protected String _resource

_about

protected String _about

_otherAttributes

protected Map<QName,String> _otherAttributes

_otherElements

protected List<Element> _otherElements
Constructor Detail

Id

public Id()

Id

public Id(String idValue)
Method Detail

getIdValue

public String getIdValue()
Returns:
A value that uniquely identify a ChannelFeed or a ItemEntry.

setIdValue

public Id setIdValue(String idValue)
Parameters:
idValue - - A value that uniquely identify a ChannelFeed or a ItemEntry.
Returns:
- this

isPermaLink

public Boolean isPermaLink()
This field is only used by Rss 2.0.

Returns:
- If true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser, that points to the full item described by the ItemEntry element.

setPermaLink

public Id setPermaLink(Boolean isPermaLink)
This field is only used by Rss 2.0.

Parameters:
isPermaLink - If true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser, that points to the full item described by the ItemEntry element.
Returns:
this

setOtherAttributes

public Id setOtherAttributes(Map<QName,String> otherAttributes)
Any other attribute that is not in the RSS 2.0 specs.


addOtherAttributes

public Id addOtherAttributes(QName namespace,
                             String attribute)
Add an attribute that is not in the RSS 2.0 specs.


setBase

public Id setBase(String base)
Atom 1.0 only
Any element defined by this specification MAY have an xml:base attribute [W3C.REC-xmlbase-20010627]. When xml:base is used in an Atom Document, it serves the function described in section 5.1.1 of [RFC3986], establishing the base URI (or IRI) for resolving any relative references found within the effective scope of the xml:base attribute.

Parameters:
base -
Returns:

setLang

public Id setLang(String lang)
  • Rss 2.0 - <language> element. The language the channel is written in. This allows aggregators to group all Italian language sites, for example, on a single page. A list of allowable values for this element, as provided by Netscape, is here. You may also use values defined by the W3C. Only <channel> support this element.
  • Rss 1.0 - <dc:language> element. A language of the intellectual content of the resource. Only <channel> and <item> support this element.
  • Atom 1.0 - 'lang' attribute

  • Note: for Rss 2.0 and Rss 1.0, only <channel> and <item>

    Parameters:
    lang -
    Returns:

    setLang

    public Id setLang(Locale lang)
  • Rss 2.0 - <language> element. The language the channel is written in. This allows aggregators to group all Italian language sites, for example, on a single page. A list of allowable values for this element, as provided by Netscape, is here. You may also use values defined by the W3C. Only <channel> support this element.
  • Rss 1.0 - <dc:language> element. A language of the intellectual content of the resource. Only <channel> and <item> support this element.
  • Atom 1.0 - 'lang' attribute

  • Note: for Rss 2.0 and Rss 1.0, only <channel> and <item>

    Parameters:
    lang -
    Returns:

    validate

    public void validate(FeedFormat format)
                  throws ValidationException
    Throws:
    ValidationException

    getBase

    public String getBase()
    This maps to the 'base' attribute that is common in all Atom 1.0 elements. Other FeedFormat will ignore this attribute.

    Returns:
    - attribute value.

    getLang

    public String getLang()
    The language attribute indicates the language that is used by the enclosed element.

    Returns:
    - attribute value.

    getLangAsLocale

    public Locale getLangAsLocale()
    The language attribute indicates the language that is used by the enclosed element.

    Returns:
    - a new Locale Object by parsing the lang attribute.

    getResource

    public String getResource()
    This maps to the optional 'resource' attribute that present in some Rss 1.0 elements. Other FeedFormat will ignore this attribute.

    Returns:
    - attribute value.

    getAbout

    public String getAbout()
    This maps to the required 'about' attribute that present of all second level elements (channel, image, item, and textinput). Other FeedFormat will ignore this attribute.

    Returns:
    - attribute value.

    getOtherElements

    public List<Element> getOtherElements()
    Other additional elements that are not in the Rss specs.


    getElementByNS

    public Element getElementByNS(String namespaceURI,
                                  String localName)
    Search through the other element list and return the first element that matches both input the namespaceURI and the localName.

    Parameters:
    namespaceURI - - namespaceURI of the element to be search for
    localName - - localName of the element
    Returns:
    - null if no matching element is found, the matching element otherwise.

    getElementByLocalName

    public Element getElementByLocalName(String localName)
    Search through the other element list and return the FIRST element that matches the input localName.

    Parameters:
    localName - - localName of the element
    Returns:
    - null if no matching element is found, the matching element otherwise.

    getOtherAttributes

    public Map<QName,String> getOtherAttributes()
    Any other attribute that is not in the RSS specs.


    getAttributeValueByLocalName

    public String getAttributeValueByLocalName(String localName)
    Search for attributes that are not in the spec by its local name.

    Parameters:
    localName - localName of the attribute
    Returns:
    null if attribute is not found, the value of the attribute otherwise

    getAttributeValueByQName

    public String getAttributeValueByQName(QName name)
    Search for attributes that are not in the spec by its QName.

    Parameters:
    name - QName of the attribute
    Returns:
    null if attribute is not found, the value of the attribute otherwise

    toString

    public String toString()
    Overrides:
    toString in class Object

    equals

    public boolean equals(Object other)
    Overrides:
    equals in class Object

    hashCode

    public int hashCode()
    Overrides:
    hashCode in class Object


    Copyright © 2008. All Rights Reserved.