Interface Document
-
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
BooleanDocument,ListDocument,MapDocument,NullDocument,NumberDocument,StringDocument
@Immutable public interface Document extends Serializable
Interface for Document Types. Document types are used to carry open content that is Data with no fixed schema, data that can't be modeled using rigid types, or data that has a schema that evolves outside the purview of a service without requiring techniques like embedding JSON inside JSON strings. Document type value is serialized using the same format as its surroundings and requires no additional encoding or escaping. This interface specifies all the methods to access a Document, also provides constructor methods for instantiating Document.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceDocument.ListBuilderstatic interfaceDocument.MapBuilder
-
Field Summary
Fields Modifier and Type Field Description static BooleanDocumentFALSE_DOCUMENTstatic NullDocumentNULL_DOCUMENTNull document constant.static BooleanDocumentTRUE_DOCUMENTBoolean document constants.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <R> Raccept(DocumentVisitor<? extends R> visitor)Accepts a visitor to the Document.voidaccept(VoidDocumentVisitor visitor)Accepts a visitor with the Document.booleanasBoolean()Gets the document as abooleanif it is a boolean.List<Document>asList()Gets the document as aListif it is a document type array.Map<String,Document>asMap()Gets the document as aMap.SdkNumberasNumber()StringasString()Gets the document as aString.static DocumentfromBoolean(boolean booleanValue)CreateDocumentfrom a boolean.static DocumentfromList(List<Document> documentList)Create aDocument.ListBuilderfor generating aDocumentby directly allowing user add Documents.static DocumentfromMap(Map<String,Document> documentMap)Creates a Document from a Map of Documents.static DocumentfromNull()Creates a document is anullvalue.static DocumentfromNumber(double number)CreateDocumentfrom a double.static DocumentfromNumber(float number)CreateDocumentfrom a float.static DocumentfromNumber(int number)CreateDocumentfrom a int.static DocumentfromNumber(long number)CreateDocumentfrom a long.static DocumentfromNumber(String number)CreateDocumentfrom a String.static DocumentfromNumber(BigDecimal number)CreateDocumentfrom a BigDecimal.static DocumentfromNumber(BigInteger number)CreateDocumentfrom a BigInteger.static DocumentfromNumber(SdkNumber number)static DocumentfromString(String string)CreateDocumentfrom a string, using the provided String.default booleanisBoolean()default booleanisList()default booleanisMap()default booleanisNull()Checks if the document is anullvalue.default booleanisNumber()default booleanisString()static Document.ListBuilderlistBuilder()Provides Builder methods ofDocument.ListBuilderto directly create Document with List of Documentsstatic Document.MapBuildermapBuilder()Create aDocument.MapBuilderfor generating aDocumentby directly allowing user to put String Keys and Document Values in the builder methods.Objectunwrap()Gets the value of the document as a Java type that represents the document type data model:boolean,Stringfor Strings and Numbers,null,List<Object>, orMap<String, Object>.
-
-
-
Field Detail
-
NULL_DOCUMENT
static final NullDocument NULL_DOCUMENT
Null document constant. Null values are invariant, no need to create a new one everytime we find a null value, instead we use this static constant.
-
TRUE_DOCUMENT
static final BooleanDocument TRUE_DOCUMENT
Boolean document constants. Boolean values are invariant, no need to create a new one everytime we find a boolean value, instead we use either constant.
-
FALSE_DOCUMENT
static final BooleanDocument FALSE_DOCUMENT
-
-
Method Detail
-
fromString
static Document fromString(String string)
CreateDocumentfrom a string, using the provided String.- Parameters:
string- String value.- Returns:
- Implementation of Document that stores a String.
-
fromBoolean
static Document fromBoolean(boolean booleanValue)
CreateDocumentfrom a boolean.- Parameters:
booleanValue- Boolean value.- Returns:
- Implementation of Document that stores a Boolean.
-
fromNumber
static Document fromNumber(int number)
CreateDocumentfrom a int.- Parameters:
number- int type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromInteger(int).
-
fromNumber
static Document fromNumber(long number)
CreateDocumentfrom a long.- Parameters:
number- long type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.longValue().
-
fromNumber
static Document fromNumber(float number)
CreateDocumentfrom a float.- Parameters:
number- float type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.floatValue()
-
fromNumber
static Document fromNumber(double number)
CreateDocumentfrom a double.- Parameters:
number- double type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromDouble(double)
-
fromNumber
static Document fromNumber(BigDecimal number)
CreateDocumentfrom a BigDecimal.- Parameters:
number- BigDecimal type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromBigDecimal(BigDecimal)
-
fromNumber
static Document fromNumber(BigInteger number)
CreateDocumentfrom a BigInteger.- Parameters:
number- BigInteger type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromBigInteger(BigInteger)
-
fromNumber
static Document fromNumber(String number)
CreateDocumentfrom a String.- Parameters:
number- String representation of a number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromString(String) - Throws:
ParseException- Throws ParseException when the inputString is not of Number format.
-
fromMap
static Document fromMap(Map<String,Document> documentMap)
Creates a Document from a Map of Documents.- Parameters:
documentMap- Map with Keys of Type Strinb and Value of Document type.- Returns:
- Implementation of Document that stores a Map with String Keys and Document Values.
-
fromList
static Document fromList(List<Document> documentList)
Create aDocument.ListBuilderfor generating aDocumentby directly allowing user add Documents.- Parameters:
documentList- List of Documents.- Returns:
- Implementation of Document that stores a Lists of Documents.
-
mapBuilder
static Document.MapBuilder mapBuilder()
Create aDocument.MapBuilderfor generating aDocumentby directly allowing user to put String Keys and Document Values in the builder methods.- Returns:
- Builder to Construct Document with Map of Documents.
-
listBuilder
static Document.ListBuilder listBuilder()
Provides Builder methods ofDocument.ListBuilderto directly create Document with List of Documents- Returns:
- Builder methods to Construct Document with List of Documents.
-
fromNull
static Document fromNull()
Creates a document is anullvalue.- Returns:
- Implementation of a Null Document.
-
unwrap
Object unwrap()
Gets the value of the document as a Java type that represents the document type data model:boolean,Stringfor Strings and Numbers,null,List<Object>, orMap<String, Object>.- Returns:
- Returns the document as one of a fixed set of Java types.
-
isNull
default boolean isNull()
Checks if the document is anullvalue.- Returns:
- Returns true if the document is a
nullvalue.
-
isBoolean
default boolean isBoolean()
- Returns:
- Returns true if this document is a boolean value.
-
asBoolean
boolean asBoolean()
Gets the document as abooleanif it is a boolean.- Returns:
- Returns the boolean value.
- Throws:
UnsupportedOperationException- if the document is not a boolean.
-
isString
default boolean isString()
- Returns:
- Returns true if this document is a string value.
-
asString
String asString()
Gets the document as aString.- Returns:
- Returns the string value.
- Throws:
UnsupportedOperationException- if the document is not a string.
-
isNumber
default boolean isNumber()
- Returns:
- Returns true if this document is a number value.
-
asNumber
SdkNumber asNumber()
- Returns:
- Returns the
SdkNumber. - Throws:
UnsupportedOperationException- if the document is not a number.
-
isMap
default boolean isMap()
- Returns:
- Returns true if this document is a Map.
-
asMap
Map<String,Document> asMap()
Gets the document as aMap.Each value contained in the
Mapis the same as how the value would be represented byDocument.- Returns:
- Returns the Document map.
- Throws:
UnsupportedOperationException- if the document is not an Map.
-
isList
default boolean isList()
- Returns:
- Returns true if this document is a document type List.
-
asList
List<Document> asList()
Gets the document as aListif it is a document type array.Each value contained in the
Listis the same as how the value would be represented byDocument.- Returns:
- Returns the lists of Document.
- Throws:
UnsupportedOperationException- if the document is not an List.
-
accept
<R> R accept(DocumentVisitor<? extends R> visitor)
Accepts a visitor to the Document.- Type Parameters:
R- visitor return type.- Parameters:
visitor- Visitor to dispatch to.- Returns:
- Returns the accepted result.
-
accept
void accept(VoidDocumentVisitor visitor)
Accepts a visitor with the Document.- Parameters:
visitor- Visitor to dispatch to.
-
-