Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.infinispan.schematic.internal.document
Class BasicDocument

    java.lang.Object
      java.util.AbstractMap<K,V>
          java.util.HashMap<K,V>
              java.util.LinkedHashMap<String,Object>
                  org.infinispan.schematic.internal.document.BasicDocument

All Implemented Interfaces:
  Serializable, Cloneable, Map<String,Object>, Document, MutableDocument

    @SerializeWith(value=DocumentExternalizer.class)
    public class BasicDocument

extends LinkedHashMap<String,Object>
implements MutableDocument

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.util.AbstractMap
`AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

Nested classes/interfaces inherited from interface org.infinispan.schematic.document.Document
`Document.Field, Document.ValueTransformer`

Constructor Summary
`BasicDocument()`
`BasicDocument(int initialCapacity)`
`BasicDocument(String name, Object value)`
`BasicDocument(String name1, Object value1, String name2, Object value2)`
`BasicDocument(String name1, Object value1, String name2, Object value2, String name3, Object value3)`
`BasicDocument(String name1, Object value1, String name2, Object value2, String name3, Object value3, String name4, Object value4)`

Method Summary
`Document` | `clone()` Obtain a clone of this document.
`boolean` | `containsAll(Document document)` Checks if this object contains all of the fields in the supplied document.
`boolean` | `containsField(String name)` Checks if this object contains a field with the given name.
`boolean` | `equals(Object obj)`
`Iterable<Document.Field>` | `fields()` Obtain an iterator over the `Document.Field`s in this object.
`Object` | `get(String name)` Gets the value in this document for the given field name.
`List<?>` | `getArray(String name)` Get the array value in this document for the given field name.
`Binary` | `getBinary(String name)` Get the `Binary` value in this document for the given field name.
`Boolean` | `getBoolean(String name)` Get the boolean value in this document for the given field name.
`boolean` | `getBoolean(String name, boolean defaultValue)` Get the boolean value in this document for the given field name.
`Code` | `getCode(String name)` Get the `Code` value in this document for the given field name.
`CodeWithScope` | `getCodeWithScope(String name)` Get the `CodeWithScope` value in this document for the given field name.
`Document` | `getDocument(String name)` Get the document value in this document for the given field name.
`Double` | `getDouble(String name)` Get the double value in this document for the given field name.
`double` | `getDouble(String name, double defaultValue)` Get the double value in this document for the given field name.
`Integer` | `getInteger(String name)` Get the integer value in this document for the given field name.
`int` | `getInteger(String name, int defaultValue)` Get the integer value in this document for the given field name.
`Long` | `getLong(String name)` Get the integer value in this document for the given field name.
`long` | `getLong(String name, long defaultValue)` Get the long value in this document for the given field name.
`MaxKey` | `getMaxKey(String name)` Get the `MaxKey` value in this document for the given field name.
`MinKey` | `getMinKey(String name)` Get the `MinKey` value in this document for the given field name.
`Number` | `getNumber(String name)` Get the number value in this document for the given field name.
`Number` | `getNumber(String name, Number defaultValue)` Get the number value in this document for the given field name.
`ObjectId` | `getObjectId(String name)` Get the `ObjectId` value in this document for the given field name.
`Pattern` | `getPattern(String name)` Get the `Pattern` value in this document for the given field name.
`String` | `getString(String name)` Get the string value in this document for the given field name.
`String` | `getString(String name, String defaultValue)` Get the string value in this document for the given field name.
`Symbol` | `getSymbol(String name)` Get the `Symbol` value in this document for the given field name.
`int` | `getType(String name)` Get the `Bson.Type` constant that describes the type of value for the given field name.
`UUID` | `getUuid(String name)` Get the `UUID` value in this document for the given field name.
`UUID` | `getUuid(String name, UUID defaultValue)` Get the `UUID` value in this document for the given field name.
`boolean` | `isNull(String name)` Determine whether this object has a pair with the given the name and the value is null.
`boolean` | `isNullOrMissing(String name)` Determine whether this object has a pair with the given the name and the value is null, or if this object has no field with the given name.
`void` | `putAll(Document object)` Sets on this object all name/value pairs from the supplied object.
`Object` | `remove(String name)` Removes from this object the name/value pair with the given name.
`void` | `removeAll()` Remove all fields from this document.
`Map<String,?>` | `toMap()` Returns a map representing this BSONObject.
`String` | `toString()`
`Document` | `with(Document.ValueTransformer transformer)` Obtain a clone of this document, but with the field values transformed using the supplied `Document.ValueTransformer`.
`Document` | `with(Map<String,Object> changedFields)` Obtain a clone of this document, but with the supplied fields replaced.
`Document` | `withVariablesReplaced(Properties properties)` Obtain a clone of this document, but with all variables in string field values replaced with the referenced values from the supplied properties.
`Document` | `withVariablesReplacedWithSystemProperties()` Obtain a clone of this document, but with all variables in string field values replaced with the referenced values from the System properties.

Methods inherited from class java.util.LinkedHashMap
`clear, containsValue, get, removeEldestEntry`

Methods inherited from class java.util.HashMap
`containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values`

Methods inherited from class java.util.AbstractMap
`hashCode`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.infinispan.schematic.internal.document.MutableDocument
`put, putAll`

Methods inherited from interface org.infinispan.schematic.document.Document
`isEmpty, keySet, size`

Methods inherited from interface java.util.Map
`containsKey, entrySet, hashCode, isEmpty, keySet, put, putAll, remove, size, values`

Constructor Detail

### BasicDocument

    public BasicDocument()

### BasicDocument

    public BasicDocument(int initialCapacity)

### BasicDocument

    public BasicDocument(String name,
                         Object value)

### BasicDocument

    public BasicDocument(String name1,
                         Object value1,
                         String name2,
                         Object value2)

### BasicDocument

    public BasicDocument(String name1,
                         Object value1,
                         String name2,
                         Object value2,
                         String name3,
                         Object value3)

### BasicDocument

    public BasicDocument(String name1,
                         Object value1,
                         String name2,
                         Object value2,
                         String name3,
                         Object value3,
                         String name4,
                         Object value4)

Method Detail

### containsField

    public boolean containsField(String name)

  Description copied from interface: `Document`
  Checks if this object contains a field with the given name.

  Specified by:
    `containsField` in interface `Document`
  Parameters:
    `name` - The name of the pair for which to check
  Returns:
    true if this document contains a field with the supplied name, or false otherwise

### containsAll

    public boolean containsAll(Document document)

  Description copied from interface: `Document`
  Checks if this object contains all of the fields in the supplied document.

  Specified by:
    `containsAll` in interface `Document`
  Parameters:
    `document` - The document with the fields that should be in this document
  Returns:
    true if this document contains all of the fields in the supplied document, or false otherwise

### get

    public Object get(String name)

  Description copied from interface: `Document`
  Gets the value in this document for the given field name.

  Specified by:
    `get` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The field value, if found, or null otherwise

### toMap

    public Map<String,?> toMap()

  Description copied from interface: `Document`
  Returns a map representing this BSONObject.

  Specified by:
    `toMap` in interface `Document`
  Returns:
    the map

### fields

    public Iterable<Document.Field> fields()

  Description copied from interface: `Document`
  Obtain an iterator over the `Document.Field`s in this object.

  Specified by:
    `fields` in interface `Document`
  Returns:
    a field iterator; never null

### getBoolean

    public Boolean getBoolean(String name)

  Description copied from interface: `Document`
  Get the boolean value in this document for the given field name.

  Specified by:
    `getBoolean` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The boolean field value, if found, or null if there is no such pair or if the value is not a boolean

### getBoolean

    public boolean getBoolean(String name,
                              boolean defaultValue)

  Description copied from interface: `Document`
  Get the boolean value in this document for the given field name.

  Specified by:
    `getBoolean` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a boolean
  Returns:
    The boolean field value if found, or `defaultValue` if there is no such pair or if the value is not a boolean

### getInteger

    public Integer getInteger(String name)

  Description copied from interface: `Document`
  Get the integer value in this document for the given field name.

  Specified by:
    `getInteger` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The integer field value, if found, or null if there is no such pair or if the value is not an integer

### getInteger

    public int getInteger(String name,
                          int defaultValue)

  Description copied from interface: `Document`
  Get the integer value in this document for the given field name.

  Specified by:
    `getInteger` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a integer
  Returns:
    The integer field value if found, or `defaultValue` if there is no such pair or if the value is not a integer

### getLong

    public Long getLong(String name)

  Description copied from interface: `Document`
  Get the integer value in this document for the given field name.

  Specified by:
    `getLong` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The long field value, if found, or null if there is no such pair or if the value is not a long value

### getLong

    public long getLong(String name,
                        long defaultValue)

  Description copied from interface: `Document`
  Get the long value in this document for the given field name.

  Specified by:
    `getLong` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a long value
  Returns:
    The long field value if found, or `defaultValue` if there is no such pair or if the value is not a long value

### getDouble

    public Double getDouble(String name)

  Description copied from interface: `Document`
  Get the double value in this document for the given field name.

  Specified by:
    `getDouble` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The double field value, if found, or null if there is no such pair or if the value is not a double

### getDouble

    public double getDouble(String name,
                            double defaultValue)

  Description copied from interface: `Document`
  Get the double value in this document for the given field name.

  Specified by:
    `getDouble` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a double
  Returns:
    The double field value if found, or `defaultValue` if there is no such pair or if the value is not a double

### getNumber

    public Number getNumber(String name)

  Description copied from interface: `Document`
  Get the number value in this document for the given field name.

  Specified by:
    `getNumber` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The double field value, if found, or null if there is no such pair or if the value is not a number

### getNumber

    public Number getNumber(String name,
                            Number defaultValue)

  Description copied from interface: `Document`
  Get the number value in this document for the given field name.

  Specified by:
    `getNumber` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a number
  Returns:
    The number field value if found, or `defaultValue` if there is no such pair or if the value is not a number

### getString

    public String getString(String name)

  Description copied from interface: `Document`
  Get the string value in this document for the given field name. This method will return the string even if the actual value is a `Symbol`.

  Specified by:
    `getString` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The string field value, if found, or null if there is no such pair or if the value is not a string

### getString

    public String getString(String name,
                            String defaultValue)

  Description copied from interface: `Document`
  Get the string value in this document for the given field name. This method will return the string even if the actual value is a `Symbol`.

  Specified by:
    `getString` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a string
  Returns:
    The string field value if found, or `defaultValue` if there is no such pair or if the value is not a string

### getArray

    public List<?> getArray(String name)

  Description copied from interface: `Document`
  Get the array value in this document for the given field name.

  Specified by:
    `getArray` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The array field value (as a list), if found, or null if there is no such pair or if the value is not an array

### getDocument

    public Document getDocument(String name)

  Description copied from interface: `Document`
  Get the document value in this document for the given field name.

  Specified by:
    `getDocument` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The document field value, if found, or null if there is no such pair or if the value is not a document

### isNull

    public boolean isNull(String name)

  Description copied from interface: `Document`
  Determine whether this object has a pair with the given the name and the value is null. This is equivalent to calling:

       this.get(name) instanceof Null;

  Specified by:
    `isNull` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    `true` if the field has been set to a `Null` value, or false otherwise
  See Also:
    `Document.isNullOrMissing(String)`

### isNullOrMissing

    public boolean isNullOrMissing(String name)

  Description copied from interface: `Document`
  Determine whether this object has a pair with the given the name and the value is null, or if this object has no field with the given name. This is equivalent to calling:

       Null.matches(this.get(name));

  Specified by:
    `isNullOrMissing` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    `true` if the field value for the name is null or if there is no such field.
  See Also:
    `Document.isNull(String)`

### getMaxKey

    public MaxKey getMaxKey(String name)

  Description copied from interface: `Document`
  Get the `MaxKey` value in this document for the given field name.

  Specified by:
    `getMaxKey` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `MaxKey` field value, if found, or null if there is no such pair or if the value is not a `MaxKey`

### getMinKey

    public MinKey getMinKey(String name)

  Description copied from interface: `Document`
  Get the `MinKey` value in this document for the given field name.

  Specified by:
    `getMinKey` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `MinKey` field value, if found, or null if there is no such pair or if the value is not a `MinKey`

### getCode

    public Code getCode(String name)

  Description copied from interface: `Document`
  Get the `Code` value in this document for the given field name.

  Specified by:
    `getCode` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `Code` field value, if found, or null if there is no such pair or if the value is not a `Code`

### getCodeWithScope

    public CodeWithScope getCodeWithScope(String name)

  Description copied from interface: `Document`
  Get the `CodeWithScope` value in this document for the given field name.

  Specified by:
    `getCodeWithScope` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `CodeWithScope` field value, if found, or null if there is no such pair or if the value is not a `CodeWithScope`

### getObjectId

    public ObjectId getObjectId(String name)

  Description copied from interface: `Document`
  Get the `ObjectId` value in this document for the given field name.

  Specified by:
    `getObjectId` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `ObjectId` field value, if found, or null if there is no such pair or if the value is not a `ObjectId`

### getBinary

    public Binary getBinary(String name)

  Description copied from interface: `Document`
  Get the `Binary` value in this document for the given field name.

  Specified by:
    `getBinary` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `Binary` field value, if found, or null if there is no such pair or if the value is not a `Binary`

### getSymbol

    public Symbol getSymbol(String name)

  Description copied from interface: `Document`
  Get the `Symbol` value in this document for the given field name.

  Specified by:
    `getSymbol` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `Symbol` field value, if found, or null if there is no such pair or if the value is not a `Symbol`

### getPattern

    public Pattern getPattern(String name)

  Description copied from interface: `Document`
  Get the `Pattern` value in this document for the given field name.

  Specified by:
    `getPattern` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `Pattern` field value, if found, or null if there is no such pair or if the value is not a `Pattern`

### getUuid

    public UUID getUuid(String name)

  Description copied from interface: `Document`
  Get the `UUID` value in this document for the given field name.

  Specified by:
    `getUuid` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    The `UUID` field value, if found, or null if there is no such pair or if the value is not a `UUID`

### getUuid

    public UUID getUuid(String name,
                        UUID defaultValue)

  Description copied from interface: `Document`
  Get the `UUID` value in this document for the given field name.

  Specified by:
    `getUuid` in interface `Document`
  Parameters:
    `name` - The name of the pair
    `defaultValue` - the default value to return if there is no such pair or if the value is not a string
  Returns:
    The `UUID` field value if found, or `defaultValue` if there is no such pair or if the value is not a UUID (or a string that is convertable from a UUID)

### getType

    public int getType(String name)

  Description copied from interface: `Document`
  Get the `Bson.Type` constant that describes the type of value for the given field name.

  Specified by:
    `getType` in interface `Document`
  Parameters:
    `name` - The name of the pair
  Returns:
    the `Bson.Type` constant describing the value, or -1 if there is no field with the supplied name

### putAll

    public void putAll(Document object)

  Description copied from interface: `MutableDocument`
  Sets on this object all name/value pairs from the supplied object. If the supplied object is null, this method does nothing.

  Specified by:
    `putAll` in interface `MutableDocument`
  Parameters:
    `object` - the object containing the name/value pairs to be set on this object

### remove

    public Object remove(String name)

  Description copied from interface: `MutableDocument`
  Removes from this object the name/value pair with the given name.

  Specified by:
    `remove` in interface `MutableDocument`
  Parameters:
    `name` - The name of the pair to remove
  Returns:
    The value removed from this object, or null this object does not contain a pair with the supplied name

### removeAll

    public void removeAll()

  Description copied from interface: `MutableDocument`
  Remove all fields from this document.

  Specified by:
    `removeAll` in interface `MutableDocument`

### equals

    public boolean equals(Object obj)

  Specified by:
    `equals` in interface `Map<String,Object>`
  Overrides:
    `equals` in class `AbstractMap<String,Object>`

### toString

    public String toString()

  Overrides:
    `toString` in class `AbstractMap<String,Object>`

### clone

    public Document clone()

  Description copied from interface: `Document`
  Obtain a clone of this document.

  Specified by:
    `clone` in interface `Document`
  Overrides:
    `clone` in class `HashMap<String,Object>`
  Returns:
    the clone of this document; never null

### with

    public Document with(Map<String,Object> changedFields)

  Description copied from interface: `Document`
  Obtain a clone of this document, but with the supplied fields replaced.

  Specified by:
    `with` in interface `Document`
  Parameters:
    `changedFields` - the fields that should be changed; may be null
  Returns:
    the clone of this document with the change fields, or this document if there are no changes

### with

    public Document with(Document.ValueTransformer transformer)

  Description copied from interface: `Document`
  Obtain a clone of this document, but with the field values transformed using the supplied `Document.ValueTransformer`.

  Specified by:
    `with` in interface `Document`
  Parameters:
    `transformer` - the transformer that should be used to transform each field value; may not be null
  Returns:
    the clone of this document with transformed fields, or this document if the transformer changed none of the values

### withVariablesReplaced

    public Document withVariablesReplaced(Properties properties)

  Description copied from interface: `Document`
  Obtain a clone of this document, but with all variables in string field values replaced with the referenced values from the supplied properties.

  Variables may appear anywhere within a string value, and multiple variables can be used within the same value. Variables take the form:

          variable := '${' variableNames [ ':' defaultValue ] '}'

          variableNames := variableName [ ',' variableNames ]

          variableName := /* any characters except ',' and ':' and '}'

          defaultValue := /* any characters except

  Note that variableName is the name used to look up the `Properties` property. Notice that the syntax supports multiple variables. The logic will process the variables from let to right, until an existing System property is found. And at that point, it will stop and will not attempt to find values for the other variables.

  Specified by:
    `withVariablesReplaced` in interface `Document`
  Parameters:
    `properties` - the properties keyed by variable name
  Returns:
    the clone of this document with variables in fields string values replaced with values from the properties object, or this document if no variables were found
  See Also:
    `Document.withVariablesReplacedWithSystemProperties()`, `Document.with(ValueTransformer)`, `SchemaLibrary.convertValues(Document, String)`

### withVariablesReplacedWithSystemProperties

    public Document withVariablesReplacedWithSystemProperties()

  Description copied from interface: `Document`
  Obtain a clone of this document, but with all variables in string field values replaced with the referenced values from the System properties.

  Variables may appear anywhere within a string value, and multiple variables can be used within the same value. Variables take the form:

          variable := '${' variableNames [ ':' defaultValue ] '}'

          variableNames := variableName [ ',' variableNames ]

          variableName := /* any characters except ',' and ':' and '}'

          defaultValue := /* any characters except

  Note that variableName is the name used to look up a System property via `System.getProperty(String)`. Notice that the syntax supports multiple variables. The logic will process the variables from let to right, until an existing System property is found. And at that point, it will stop and will not attempt to find values for the other variables.

  Because only string values can contain variables, the resulting values are left as strings. This may not be valid according to the document's JSON Schema, so see `SchemaLibrary.convertValues(Document, String)` to convert the string values after variable substitution into the expected non-string types.

  Specified by:
    `withVariablesReplacedWithSystemProperties` in interface `Document`
  Returns:
    the clone of this document with variables in fields string values replaced with values from the System properties, or this document if no variables were found
  See Also:
    `Document.withVariablesReplaced(Properties)`, `Document.with(ValueTransformer)`, `SchemaLibrary.convertValues(Document, String)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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