Interface Content

  • All Superinterfaces:
    Base, java.lang.Cloneable, Element, java.lang.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 Detail

      • 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 ElementContent 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​(java.lang.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
        Throws:
        MimeTypeParseException - if the media type is malformed
      • 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
        Throws:
        IRISyntaxException - if the src attribute value is malformed
      • 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
        Throws:
        IRISyntaxException - if the src attribute value is malformed
      • setSrc

        Content setSrc​(java.lang.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
        Throws:
        IRISyntaxException - if the src value is malformed
      • getDataHandler

        javax.activation.DataHandler getDataHandler()
        Deprecated.
        Attempts to Base64 decode the string value of the content element.
        Returns:
        A DataHandler or null
        Throws:
        java.lang.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:
        java.lang.UnsupportedOperationException - if type = text, html, xhtml, or any application/*+xml, or text/* type
      • getValue

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

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

        java.lang.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​(java.lang.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