public class ImmutableSchematicValue extends Object implements SchematicEntry
SchematicEntry.FieldName
Constructor and Description |
---|
ImmutableSchematicValue(SchematicEntry delegate) |
Modifier and Type | Method and Description |
---|---|
Document |
asDocument()
|
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 ". |
public ImmutableSchematicValue(SchematicEntry delegate)
public Document getMetadata()
SchematicEntry
getMetadata
in interface SchematicEntry
public Object getContent()
SchematicEntry
Document
or Binary
.
Note that this method will return a non-null value only if the SchematicEntry.hasDocumentContent()
method
returns true
.getContent
in interface SchematicEntry
Document
object, or null if there is no contentpublic String getContentType()
SchematicEntry
getContentType
in interface SchematicEntry
public Binary getContentAsBinary()
SchematicEntry
SchematicEntry.hasDocumentContent()
returns false
, and is therefore equivalent to the following:
return hasDocumentContent() ? (Binary)getContent() : null;
getContentAsBinary
in interface SchematicEntry
Binary
content, or null if there is no content or if the content is a Document
public Document getContentAsDocument()
SchematicEntry
SchematicEntry.hasDocumentContent()
returns true
, and is therefore equivalent to the following:
return hasDocumentContent() ? (Document)getContent() : null;
getContentAsDocument
in interface SchematicEntry
Document
content, or null if there is no content or the content is a Binary
valuepublic boolean hasDocumentContent()
SchematicEntry
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;
hasDocumentContent
in interface SchematicEntry
true
if the content is a Document, or false
otherwisepublic boolean hasBinaryContent()
SchematicEntry
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;
hasBinaryContent
in interface SchematicEntry
true
if the content is a Binary value, or false
otherwisepublic void setContent(Binary content, Document metadata, String defaultContentType)
SchematicEntry
Binary
data described by the supplied content type.setContent
in interface SchematicEntry
content
- the Binary representation of the content; may not be nullmetadata
- the Document representing the metadata; may be nulldefaultContentType
- 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 nullpublic void setContent(Document content, Document metadata, String defaultContentType)
SchematicEntry
application/json
".setContent
in interface SchematicEntry
content
- the Document representing the JSON content; may not be nullmetadata
- the Document representing the metadata; may be nulldefaultContentType
- 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 nullpublic EditableDocument editDocumentContent()
SchematicEntry
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.editDocumentContent
in interface SchematicEntry
SchematicEntry.editMetadata()
public EditableDocument editMetadata()
SchematicEntry
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.editMetadata
in interface SchematicEntry
SchematicEntry.editDocumentContent()
public Document asDocument()
SchematicEntry
metadata
and content
as nested documents.asDocument
in interface SchematicEntry
Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.