org.ejdb.bson
Class BSONObject

java.lang.Object
  extended by org.ejdb.bson.BSONObject
Direct Known Subclasses:
BSONQueryObject

public class BSONObject
extends java.lang.Object

BSON object.

NOTE: ID_KEY must be valid ObjectId (ObjectId instance or valid byte[] or String)

Version:
$Id$
Author:
Tyutyunkov Vyacheslav (tve@softmotions.com)

Field Summary
protected  java.util.Map<java.lang.String,java.lang.Object> data
           
protected  java.util.List<java.lang.String> fields
           
static java.lang.String ID_KEY
          ID-field name
 
Constructor Summary
BSONObject()
          Constructs new BSON object
BSONObject(BSONObject src)
          Constructs new BSON object as copy of other BSON object.
BSONObject(java.util.Map<java.lang.String,java.lang.Object> data)
          Constructs new BSON object and init data from specified Map.
BSONObject(ObjectId oid)
          Constructs new BSON object with specified id
BSONObject(java.lang.String key, java.lang.Object value)
          Constructs new BSON object with initial data.
 
Method Summary
 BSONObject append(java.lang.String key, java.lang.Object value)
          The same as put(String, Object) but return this
 void clear()
          Removes all fields
 boolean containsField(java.lang.String key)
          Checks field contains in BSON object
 boolean equals(java.lang.Object o)
          
 java.util.List<java.lang.String> fields()
          Returns fields in adding order
 java.lang.Object get(java.lang.String key)
          Returns value of specified field if exists, or null otherwise
 ObjectId getId()
          Returns id of BSON object (if specified)
 int hashCode()
          
protected  boolean isFieldsOrderImportant()
          If returns true fields order will be checks on equal.
 java.lang.Object put(java.lang.String key, java.lang.Object value)
          Add new key->value to BSON object.
 void putAll(BSONObject object)
          Adds key->value pair to BSON object from other BSON object
 void putAll(java.util.Map<java.lang.String,java.lang.Object> values)
          Adds key->value pair to BSON object from specified Map
protected  java.lang.Object registerField(java.lang.String key, java.lang.Object value)
           
 void remove(java.lang.String field)
          Removes field from Object
 int size()
          Returns fields count
 java.lang.String toString()
          
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ID_KEY

public static final java.lang.String ID_KEY
ID-field name

See Also:
Constant Field Values

data

protected java.util.Map<java.lang.String,java.lang.Object> data

fields

protected java.util.List<java.lang.String> fields
Constructor Detail

BSONObject

public BSONObject()
Constructs new BSON object


BSONObject

public BSONObject(ObjectId oid)
Constructs new BSON object with specified id


BSONObject

public BSONObject(java.lang.String key,
                  java.lang.Object value)
Constructs new BSON object with initial data. The same as: BSONObject obj = new BSONObject(); obj.put(key, value);


BSONObject

public BSONObject(java.util.Map<java.lang.String,java.lang.Object> data)
Constructs new BSON object and init data from specified Map. The same as BSONObject obj = new BSONObject(); obj.putAll(data);


BSONObject

public BSONObject(BSONObject src)
Constructs new BSON object as copy of other BSON object.

Method Detail

registerField

protected java.lang.Object registerField(java.lang.String key,
                                         java.lang.Object value)

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
                     throws java.lang.IllegalArgumentException
Add new key->value to BSON object.

Returns:
added value
Throws:
java.lang.IllegalArgumentException - if not valid ObjectId data passed as _id (ID_KEY field.

append

public BSONObject append(java.lang.String key,
                         java.lang.Object value)
The same as put(String, Object) but return this


putAll

public void putAll(java.util.Map<java.lang.String,java.lang.Object> values)
Adds key->value pair to BSON object from specified Map


putAll

public void putAll(BSONObject object)
Adds key->value pair to BSON object from other BSON object


fields

public java.util.List<java.lang.String> fields()
Returns fields in adding order

Returns:
fields in adding order

getId

public ObjectId getId()
Returns id of BSON object (if specified)

Returns:
id of BSON object (if specified)

get

public java.lang.Object get(java.lang.String key)
Returns value of specified field if exists, or null otherwise

Returns:
value of specified field if exists, or null otherwise

size

public int size()
Returns fields count

Returns:
fields count

containsField

public boolean containsField(java.lang.String key)
Checks field contains in BSON object


remove

public void remove(java.lang.String field)
Removes field from Object


clear

public void clear()
Removes all fields


isFieldsOrderImportant

protected boolean isFieldsOrderImportant()
If returns true fields order will be checks on equal.


equals

public boolean equals(java.lang.Object o)

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object