Interface Document
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
BooleanDocument,ListDocument,MapDocument,NullDocument,NumberDocument,StringDocument
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 ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interface -
Method Summary
Modifier and TypeMethodDescription<R> Raccept(DocumentVisitor<? extends R> visitor) Accepts a visitor to the Document.voidaccept(VoidDocumentVisitor visitor) Accepts a visitor with the Document.booleanGets the document as abooleanif it is a boolean.asList()Gets the document as aListif it is a document type array.asMap()Gets the document as aMap.asNumber()asString()Gets the document as aString.static DocumentfromBoolean(boolean booleanValue) CreateDocumentfrom a boolean.static DocumentCreate aDocument.ListBuilderfor generating aDocumentby directly allowing user add Documents.static DocumentCreates 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 booleandefault booleanisList()default booleanisMap()default booleanisNull()Checks if the document is anullvalue.default booleanisNumber()default booleanisString()static Document.ListBuilderProvides Builder methods ofDocument.ListBuilderto directly create Document with List of Documentsstatic Document.MapBuilderCreate aDocument.MapBuilderfor generating aDocumentby directly allowing user to put String Keys and Document Values in the builder methods.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>.
-
Method Details
-
fromString
-
fromBoolean
-
fromNumber
-
fromNumber
CreateDocumentfrom a int.- Parameters:
number- int type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromInteger(int).
-
fromNumber
CreateDocumentfrom a long.- Parameters:
number- long type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.longValue().
-
fromNumber
CreateDocumentfrom a float.- Parameters:
number- float type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.floatValue()
-
fromNumber
CreateDocumentfrom a double.- Parameters:
number- double type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromDouble(double)
-
fromNumber
CreateDocumentfrom a BigDecimal.- Parameters:
number- BigDecimal type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromBigDecimal(BigDecimal)
-
fromNumber
CreateDocumentfrom a BigInteger.- Parameters:
number- BigInteger type number.- Returns:
- Implementation of Document that stores a
SdkNumberconstructedSdkNumber.fromBigInteger(BigInteger)
-
fromNumber
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
-
fromList
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
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
Provides Builder methods ofDocument.ListBuilderto directly create Document with List of Documents- Returns:
- Builder methods to Construct Document with List of Documents.
-
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
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
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
Accepts a visitor to the Document.- Type Parameters:
R- visitor return type.- Parameters:
visitor- Visitor to dispatch to.- Returns:
- Returns the accepted result.
-
accept
Accepts a visitor with the Document.- Parameters:
visitor- Visitor to dispatch to.
-