Class BasicBSONList

  • All Implemented Interfaces:
    Serializable, Cloneable, Iterable<Object>, Collection<Object>, List<Object>, RandomAccess, BSONObject

    public class BasicBSONList
    extends ArrayList<Object>
    implements BSONObject

    Utility class to allow array DBObjects to be created.

    Note: MongoDB will also create arrays from java.util .Lists.

     BSONObject obj = new BasicBSONList();
     obj.put( "0", value1 );
     obj.put( "4", value2 );
     obj.put( 2, value3 );
     

    This simulates the array [ value1, null, value3, null, value2 ] by creating the DBObject { "0" : value1, "1" : null, "2" : value3, "3" : null, "4" : value2 }.

    BasicBSONList only supports numeric keys. Passing strings that cannot be converted to ints will cause an IllegalArgumentException.

     BasicBSONList list = new BasicBSONList();
     list.put("1", "bar"); // ok
     list.put("1E1", "bar"); // throws exception
     
    See Also:
    Serialized Form
    • Constructor Detail

      • BasicBSONList

        public BasicBSONList()
    • Method Detail

      • put

        public Object put​(String key,
                          Object v)
        Puts a value at an index. For interface compatibility. Must be passed a String that is parsable to an int.
        Specified by:
        put in interface BSONObject
        Parameters:
        key - the index at which to insert the value
        v - the value to insert
        Returns:
        the value
        Throws:
        IllegalArgumentException - if key cannot be parsed into an int
      • put

        public Object put​(int key,
                          Object value)
        Puts a value at an index. This will fill any unset indexes less than index with null.
        Parameters:
        key - the index at which to insert the value
        value - the value to insert
        Returns:
        the value
      • putAll

        public void putAll​(Map m)
        Description copied from interface: BSONObject
        Sets all key/value pairs from a map into this object
        Specified by:
        putAll in interface BSONObject
        Parameters:
        m - the map
      • putAll

        public void putAll​(BSONObject o)
        Description copied from interface: BSONObject
        Sets all key/value pairs from an object into this object
        Specified by:
        putAll in interface BSONObject
        Parameters:
        o - the object
      • get

        public Object get​(String key)
        Gets a value at an index. For interface compatibility. Must be passed a String that is parsable to an int.
        Specified by:
        get in interface BSONObject
        Parameters:
        key - the index
        Returns:
        the value, if found, or null
        Throws:
        IllegalArgumentException - if key cannot be parsed into an int
      • removeField

        public Object removeField​(String key)
        Description copied from interface: BSONObject
        Removes a field with a given name from this object.
        Specified by:
        removeField in interface BSONObject
        Parameters:
        key - The name of the field to remove
        Returns:
        The value removed from this object
      • containsField

        public boolean containsField​(String key)
        Description copied from interface: BSONObject
        Checks if this object contains a field with the given name.
        Specified by:
        containsField in interface BSONObject
        Parameters:
        key - Field name for which to check
        Returns:
        True if the field is present
      • keySet

        public Set<String> keySet()
        Description copied from interface: BSONObject
        Returns this object's fields' names
        Specified by:
        keySet in interface BSONObject
        Returns:
        The names of the fields in this object
      • toMap

        public Map toMap()
        Description copied from interface: BSONObject
        Returns a map representing this BSONObject.
        Specified by:
        toMap in interface BSONObject
        Returns:
        the map