org.modeshape.jcr.federation

## Class FederatedSchematicEntry

- java.lang.Object
- - org.modeshape.jcr.federation.FederatedSchematicEntry

- All Implemented Interfaces:
    Cloneable, SchematicEntry

      public class FederatedSchematicEntry
      extends Object
      implements SchematicEntry

  A simple `SchematicEntry` implementation which is used by the `FederatedDocumentStore` to wrap editable documents.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.infinispan.schematic.SchematicEntry

      `SchematicEntry.FieldName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FederatedSchematicEntry(EditableDocument document)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Document` | `asDocument()` Get the representation of this entry as a document, which will include the `metadata` and `content` as nested documents.
    `EditableDocument` | `editDocumentContent()` Get an `editable document`, when the content is a `document`.
    `EditableDocument` | `editMetadata()` Get an `editable metadata document`.
    `Object` | `getContent()` Return this value's content.
    `Binary` | `getContentAsBinary()` Get this value's content, if it is a Binary object.
    `Document` | `getContentAsDocument()` Get this value's content, if it is a Document object.
    `String` | `getContentType()` Get the media type describing the content.
    `Document` | `getMetadata()` Get the metadata associated with this value.
    `boolean` | `hasBinaryContent()` Return `true` if the `SchematicEntry.getContent()` method would return a Binary (or `SchematicEntry.getContentAsBinary()` would return a non-null value).
    `boolean` | `hasDocumentContent()` Return `true` if the `SchematicEntry.getContent()` method would return a Document (or `SchematicEntry.getContentAsDocument()` would return a non-null value).
    `void` | `setContent(Binary content, Document metadata, String defaultContentType)` Set the content for this value to be the supplied `Binary` data described by the supplied content type.
    `void` | `setContent(Document content, Document metadata, String defaultContentType)` Set the content for this value to be the supplied Document and set the content type to be " `application/json`".

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

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

- - ### Constructor Detail

    - #### FederatedSchematicEntry

          public FederatedSchematicEntry(EditableDocument document)

  - ### Method Detail

    - #### getMetadata

          public Document getMetadata()

      Description copied from interface: `SchematicEntry`
      Get the metadata associated with this value.
      Specified by:
        `getMetadata` in interface `SchematicEntry`
      Returns:
        the metadata document; never null

    - #### getContentType

          public String getContentType()

      Description copied from interface: `SchematicEntry`
      Get the media type describing the content.
      Specified by:
        `getContentType` in interface `SchematicEntry`
      Returns:
        the media type; never null

    - #### getContent

          public Object getContent()

      Description copied from interface: `SchematicEntry`
      Return this value's content. The result will either be a `Document` or `Binary`. Note that this method will return a non-null value only if the `SchematicEntry.hasDocumentContent()` method returns `true`.
      Specified by:
        `getContent` in interface `SchematicEntry`
      Returns:
        the content, represented as a `Document` object, or null if there is no content

    - #### getContentAsDocument

          public Document getContentAsDocument()

      Description copied from interface: `SchematicEntry`
      Get this value's content, if it is a Document object. This method will always return a non-null Document if `SchematicEntry.hasDocumentContent()` returns `true`, and is therefore equivalent to the following:

           return hasDocumentContent() ? (Document)getContent() : null;

      Specified by:
        `getContentAsDocument` in interface `SchematicEntry`
      Returns:
        the `Document` content, or null if there is no content or the content is a `Binary` value

    - #### getContentAsBinary

          public Binary getContentAsBinary()

      Description copied from interface: `SchematicEntry`
      Get this value's content, if it is a Binary object. This method will always return a non-null Binary if `SchematicEntry.hasDocumentContent()` returns `false`, and is therefore equivalent to the following:

           return hasDocumentContent() ? (Binary)getContent() : null;

      Specified by:
        `getContentAsBinary` in interface `SchematicEntry`
      Returns:
        the `Binary` content, or null if there is no content or if the content is a `Document`

    - #### hasDocumentContent

          public boolean hasDocumentContent()

      Description copied from interface: `SchematicEntry`
      Return `true` if the `SchematicEntry.getContent()` method would return a Document (or `SchematicEntry.getContentAsDocument()` would return a non-null value).

      This is equivalent to the following:

           return getContent() instanceof Document;

      Specified by:
        `hasDocumentContent` in interface `SchematicEntry`
      Returns:
        `true` if the content is a Document, or `false` otherwise

    - #### hasBinaryContent

          public boolean hasBinaryContent()

      Description copied from interface: `SchematicEntry`
      Return `true` if the `SchematicEntry.getContent()` method would return a Binary (or `SchematicEntry.getContentAsBinary()` would return a non-null value).

      This is equivalent to the following:

           return getContent() instanceof Binary;

      Specified by:
        `hasBinaryContent` in interface `SchematicEntry`
      Returns:
        `true` if the content is a Binary value, or `false` otherwise

    - #### setContent

          public void setContent(Document content,
                        Document metadata,
                        String defaultContentType)

      Description copied from interface: `SchematicEntry`
      Set the content for this value to be the supplied Document and set the content type to be " `application/json`".
      Specified by:
        `setContent` in interface `SchematicEntry`
      Parameters:
        `content` - the Document representing the JSON content; may not be null
        `metadata` - the Document representing the metadata; may be null
        `defaultContentType` - the value for the MIME type describing the content that should be used if the metadata does not already contain a "contentType" field, and typically `Schematic.ContentTypes.JSON`, `Schematic.ContentTypes.JSON_SCHEMA` , or `Schematic.ContentTypes.BSON`; may not be null

    - #### setContent

          public void setContent(Binary content,
                        Document metadata,
                        String defaultContentType)

      Description copied from interface: `SchematicEntry`
      Set the content for this value to be the supplied `Binary` data described by the supplied content type.
      Specified by:
        `setContent` in interface `SchematicEntry`
      Parameters:
        `content` - the Binary representation of the content; may not be null
        `metadata` - the Document representing the metadata; may be null
        `defaultContentType` - the value for the MIME type describing the content that should be used if the metadata does not already contain a "contentType" field, and typically `Schematic.ContentTypes.JSON`, `Schematic.ContentTypes.JSON_SCHEMA` , or `Schematic.ContentTypes.BSON`; may not be null

    - #### editDocumentContent

          public EditableDocument editDocumentContent()

      Description copied from interface: `SchematicEntry`
      Get an `editable document`, when the content is a `document`. The client is expected to make these edits within the context of a transaction, and the edits will be saved when the transaction is committed.
      Specified by:
        `editDocumentContent` in interface `SchematicEntry`
      Returns:
        the editable representation of the content document
      See Also:
        `SchematicEntry.editMetadata()`

    - #### editMetadata

          public EditableDocument editMetadata()

      Description copied from interface: `SchematicEntry`
      Get an `editable metadata document`. The client is expected to make these edits within the context of a transaction, and the edits will be saved when the transaction is committed.
      Specified by:
        `editMetadata` in interface `SchematicEntry`
      Returns:
        the editable representation of the document
      See Also:
        `SchematicEntry.editDocumentContent()`

    - #### asDocument

          public Document asDocument()

      Description copied from interface: `SchematicEntry`
      Get the representation of this entry as a document, which will include the `metadata` and `content` as nested documents.
      Specified by:
        `asDocument` in interface `SchematicEntry`
      Returns:
        the entry's representation as a document

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.