Interface Content

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

@Deprecated(since="2021-07-29") public interface Content extends Element
Deprecated.
This API is deprecated as Apache Abdera is a retired project since 2017.

Represents an atom:content element.

Atom has a very clearly defined and extremely flexible content model. The model allows for five basic types of content:

  • Text, consisting of content that is to be interpreted as plain text with no markup. For instance, <content type="text">&lt;content&gt;</content> is interpreted as literal characer "<" followed by the word "content", followed by the literal character ">".
  • HTML, consisting of content that is to be interpreted as escaped HTML markup. For instance, <content type="html">&lt;b&gt;content&lt;/b&gt;</content> is interpreted as the word "content" surrounded by the HTML <b> and </b> tags.
  • XHTML, consisting of well-formed XHTML content wrapped in an XHTML div element. For instance, <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><b>Content</b></div></content> .
  • XML, consisting of well-formed XML content. For instance, <content type="application/xml"><a xmlns="..."><b><c/></b></a></content>. The content could, alternatively, be linked to via the src attribute, <content type="application/xml" src="http://example.org/foo.xml"/>.
  • Media, consisting of content conforming to any MIME media type.
    • Text media types are encoded literally, e.g. <content type="text/calendar">BEGIN:VCALENDAR...</content>.
    • Other media types are encoded as Base64 strings, e.g. <content type="image/jpeg">{Base64}</content>.
    • Alternatively, media content may use the src attribute, <content type="text/calendar" src="http://example.org/foo.cal"/>, <content type="image/jpeg" src="http://example.org/foo.jpg" />

Per RFC4287:

   The "atom:content" element either contains or links to the content of
   the entry.  The content of atom:content is Language-Sensitive.

   atomInlineTextContent =
      element atom:content {
         atomCommonAttributes,
         attribute type { "text" | "html" }?,
         (text)*
      }

   atomInlineXHTMLContent =
      element atom:content {
         atomCommonAttributes,
         attribute type { "xhtml" },
         xhtmlDiv
      }
   atomInlineOtherContent =
      element atom:content {
         atomCommonAttributes,
         attribute type { atomMediaType }?,
         (text|anyElement)*
      }

   atomOutOfLineContent =
      element atom:content {
         atomCommonAttributes,
         attribute type { atomMediaType }?,
         attribute src { atomUri },
         empty
      }

   atomContent = atomInlineTextContent
    | atomInlineXHTMLContent
    | atomInlineOtherContent
    | atomOutOfLineContent

  
  • Method Details

    • getContentType

      Content.Type getContentType()
      Deprecated.
      Returns the Content Type
      Returns:
      The Content Type
    • setContentType

      Content setContentType(Content.Type type)
      Deprecated.
      Set the Content Type
      Parameters:
      type - The Content Type
    • getValueElement

      <T extends Element> T getValueElement()
      Deprecated.
      Return the value element or null if type="text", type="html" or type is some non-XML media type
      Returns:
      The first child element of the atom:content element or null
    • setValueElement

      <T extends Element> Content setValueElement(T value)
      Deprecated.
      Set the value element of the content. If the value is a Div, the type attribute will be set to type="xhtml", otherwise, the attribute will be set to type="application/xml"
      Parameters:
      value - The element to set
    • getMimeType

      javax.activation.MimeType getMimeType()
      Deprecated.
      RFC4287: On the atom:content element, the value of the "type" attribute MAY be one of "text", "html", or "xhtml". Failing that, it MUST conform to the syntax of a MIME media type, but MUST NOT be a composite type. If neither the type attribute nor the src attribute is provided, Atom Processors MUST behave as though the type attribute were present with a value of "text".
      Returns:
      null if type = text, html or xhtml, otherwise a media type
    • setMimeType

      Content setMimeType(String type)
      Deprecated.
      RFC4287: On the atom:content element, the value of the "type" attribute MAY be one of "text", "html", or "xhtml". Failing that, it MUST conform to the syntax of a MIME media type, but MUST NOT be a composite type. If neither the type attribute nor the src attribute is provided, Atom Processors MUST behave as though the type attribute were present with a value of "text".
      Parameters:
      type - The media type
    • getSrc

      IRI getSrc()
      Deprecated.

      RFC4287: atom:content MAY have a "src" attribute, whose value MUST be an IRI reference. If the "src" attribute is present, atom:content MUST be empty. Atom Processors MAY use the IRI to retrieve the content and MAY choose to ignore remote content or to present it in a different manner than local content.

      If the "src" attribute is present, the "type" attribute SHOULD be provided and MUST be a MIME media type, rather than "text", "html", or "xhtml".

      Returns:
      The IRI value of the src attribute or null if none
    • getResolvedSrc

      IRI getResolvedSrc()
      Deprecated.
      Returns the fully qualified URI form of the content src attribute.
      Returns:
      The IRI value of the src attribute resolved against the in-scope Base URI
    • setSrc

      Content setSrc(String src)
      Deprecated.

      RFC4287: atom:content MAY have a "src" attribute, whose value MUST be an IRI reference. If the "src" attribute is present, atom:content MUST be empty. Atom Processors MAY use the IRI to retrieve the content and MAY choose to ignore remote content or to present it in a different manner than local content.

      If the "src" attribute is present, the "type" attribute SHOULD be provided and MUST be a MIME media type, rather than "text", "html", or "xhtml".

      Parameters:
      src - The IRI to use as the src attribute value for the content
    • getDataHandler

      javax.activation.DataHandler getDataHandler()
      Deprecated.
      Attempts to Base64 decode the string value of the content element.
      Returns:
      A DataHandler or null
      Throws:
      UnsupportedOperationException - if type = text, html, xhtml, or any application/*+xml, or text/* type
    • setDataHandler

      Content setDataHandler(javax.activation.DataHandler dataHandler)
      Deprecated.
      Sets the string value of the content element by Base64 encoding the specifed byte array.
      Parameters:
      dataHandler - The DataHandler for the binary content requiring Base64 encoding
      Throws:
      UnsupportedOperationException - if type = text, html, xhtml, or any application/*+xml, or text/* type
    • getValue

      String getValue()
      Deprecated.
      Returns the string value of this atom:content element
      Returns:
      The string value
    • setValue

      Content setValue(String value)
      Deprecated.
      Set the string value of the atom:content element
      Parameters:
      value - The string value
    • getWrappedValue

      String getWrappedValue()
      Deprecated.
      Return the string value of the atom:content element with the enclosing div tag if type="xhtml"
      Returns:
      The div wrapped value
    • setWrappedValue

      Content setWrappedValue(String wrappedValue)
      Deprecated.
      Set the string value of the atom:content with the enclosing div tag
      Parameters:
      wrappedValue - The string value with the wrapping div tag