Package org.jboss.resteasy.plugins.providers.atom

## Class Entry

- java.lang.Object
- - org.jboss.resteasy.plugins.providers.atom.CommonAttributes
  - - org.jboss.resteasy.plugins.providers.atom.Entry

-     public class Entry
      extends CommonAttributes

  Per RFC4287:

       The "atom:entry" element represents an individual entry, acting as a
       container for metadata and data associated with the entry.  This
       element can appear as a child of the atom:feed element, or it can
       appear as the document (i.e., top-level) element of a stand-alone
       Atom Entry Document.

       atomEntry =
          element atom:entry {
             atomCommonAttributes,
             (atomAuthor*
              & atomCategory*
              & atomContent?
              & atomContributor*
              & atomId
              & atomLink*
              & atomPublished?
              & atomRights?
              & atomSource?
              & atomSummary?
              & atomTitle
              & atomUpdated
              & extensionElement*)
          }

       This specification assigns no significance to the order of appearance
       of the child elements of atom:entry.

       The following child elements are defined by this specification (note
       that it requires the presence of some of these elements):

       o  atom:entry elements MUST contain one or more atom:author elements,
          unless the atom:entry contains an atom:source element that
          contains an atom:author element or, in an Atom Feed Document, the
          atom:feed element contains an atom:author element itself.
       o  atom:entry elements MAY contain any number of atom:category
          elements.
       o  atom:entry elements MUST NOT contain more than one atom:content
          element.
       o  atom:entry elements MAY contain any number of atom:contributor
          elements.
       o  atom:entry elements MUST contain exactly one atom:id element.
       o  atom:entry elements that contain no child atom:content element
          MUST contain at least one atom:link element with a rel attribute
          value of "alternate".
       o  atom:entry elements MUST NOT contain more than one atom:link
          element with a rel attribute value of "alternate" that has the
          same combination of type and hreflang attribute values.
       o  atom:entry elements MAY contain additional atom:link elements
          beyond those described above.
       o  atom:entry elements MUST NOT contain more than one atom:published
          element.
       o  atom:entry elements MUST NOT contain more than one atom:rights
          element.
       o  atom:entry elements MUST NOT contain more than one atom:source
          element.
       o  atom:entry elements MUST contain an atom:summary element in either
          of the following cases:
          *  the atom:entry contains an atom:content that has a "src"
             attribute (and is thus empty).
          *  the atom:entry contains content that is encoded in Base64;
             i.e., the "type" attribute of atom:content is a MIME media type
             [MIMEREG], but is not an XML media type [RFC3023], does not
             begin with "text/", and does not end with "/xml" or "+xml".
       o  atom:entry elements MUST NOT contain more than one atom:summary
          element.
       o  atom:entry elements MUST contain exactly one atom:title element.
       o  atom:entry elements MUST contain exactly one atom:updated element.

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected JAXBContextFinder` | `finder` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Entry()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<Object>` | `getAnyOther()` |
    `Element` | `getAnyOtherElement()` | Get content as an XML Element if the content is XML.
    `Object` | `getAnyOtherJAXBObject()` | Returns previous extracted jaxbobject from a call to getJAXBObject(Class<T> clazz) or value passed in through a previous setJAXBObject().
    `<T> T` | `getAnyOtherJAXBObject​(Class<T> clazz, Class... otherPossibleClasses)` | Extract the content as the provided JAXB annotated type.
    `List<Person>` | `getAuthors()` |
    `List<Category>` | `getCategories()` |
    `Content` | `getContent()` |
    `List<Person>` | `getContributors()` |
    `URI` | `getId()` |
    `Link` | `getLinkByRel​(String name)` |
    `List<Link>` | `getLinks()` |
    `Date` | `getPublished()` |
    `String` | `getRights()` |
    `Text` | `getRightsElement()` |
    `Source` | `getSource()` |
    `String` | `getSummary()` |
    `Text` | `getSummaryElement()` |
    `String` | `getTitle()` |
    `Text` | `getTitleElement()` |
    `Date` | `getUpdated()` |
    `void` | `setAnyOtherJAXBObject​(Object obj)` |
    `void` | `setContent​(Content content)` |
    `protected void` | `setFinder​(JAXBContextFinder finder)` |
    `void` | `setId​(URI id)` |
    `void` | `setPublished​(Date published)` |
    `void` | `setRights​(String rights)` |
    `void` | `setRightsElement​(Text rights)` |
    `void` | `setSource​(Source source)` |
    `void` | `setSummary​(String summary)` |
    `void` | `setSummaryElement​(Text summary)` |
    `void` | `setTitle​(String title)` |
    `void` | `setTitleElement​(Text title)` |
    `void` | `setUpdated​(Date updated)` |

    - ### Methods inherited from class org.jboss.resteasy.plugins.providers.atom.CommonAttributes

      `getBase, getExtensionAttributes, getLanguage, setBase, setLanguage`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### finder

          protected JAXBContextFinder finder

  - ### Constructor Detail

    - #### Entry

          public Entry()

  - ### Method Detail

    - #### setFinder

          protected void setFinder​(JAXBContextFinder finder)

    - #### getId

          public URI getId()

    - #### setId

          public void setId​(URI id)

    - #### getTitleElement

          public Text getTitleElement()

    - #### setTitleElement

          public void setTitleElement​(Text title)

    - #### getTitle

          public String getTitle()

    - #### setTitle

          public void setTitle​(String title)

    - #### getUpdated

          public Date getUpdated()

    - #### setUpdated

          public void setUpdated​(Date updated)

    - #### getLinkByRel

          public Link getLinkByRel​(String name)

    - #### getLinks

          public List<Link> getLinks()

    - #### getContent

          public Content getContent()

    - #### setContent

          public void setContent​(Content content)

    - #### getAuthors

          public List<Person> getAuthors()

    - #### getCategories

          public List<Category> getCategories()

    - #### getContributors

          public List<Person> getContributors()

    - #### getPublished

          public Date getPublished()

    - #### setPublished

          public void setPublished​(Date published)

    - #### getRightsElement

          public Text getRightsElement()

    - #### setRightsElement

          public void setRightsElement​(Text rights)

    - #### getRights

          public String getRights()

    - #### setRights

          public void setRights​(String rights)

    - #### getSource

          public Source getSource()

    - #### setSource

          public void setSource​(Source source)

    - #### getSummaryElement

          public Text getSummaryElement()

    - #### setSummaryElement

          public void setSummaryElement​(Text summary)

    - #### getSummary

          public String getSummary()

    - #### setSummary

          public void setSummary​(String summary)

    - #### getAnyOtherElement

          public Element getAnyOtherElement()

      Get content as an XML Element if the content is XML. Otherwise, this will just return null.
      Returns:
        `Element`

    - #### getAnyOther

          public List<Object> getAnyOther()

    - #### getAnyOtherJAXBObject

          public <T> T getAnyOtherJAXBObject​(Class<T> clazz,
                                             Class... otherPossibleClasses)
                                      throws JAXBException

      Extract the content as the provided JAXB annotated type.

      This method will use a cached JAXBContext used by the Resteasy JAXB providers or, if those are not existent, it will create a new JAXBContext from scratch using the class.

      Type Parameters:
        `T` - type
      Parameters:
        `clazz` - class type you are expecting
        `otherPossibleClasses` - Other classe you want to create the JAXBContext with
      Returns:
        null if there is no XML content
      Throws:
        `JAXBException` - jaxb exception

    - #### getAnyOtherJAXBObject

          public Object getAnyOtherJAXBObject()

      Returns previous extracted jaxbobject from a call to getJAXBObject(Class<T> clazz) or value passed in through a previous setJAXBObject().
      Returns:
        object

    - #### setAnyOtherJAXBObject

          public void setAnyOtherJAXBObject​(Object obj)