// BSONObject.java
/**
* Copyright (C) 2008 10gen Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.bson;
import java.util.*;
/** A key-value map that can be saved to the database. */
public interface BSONObject {
/** Sets a name/value pair in this object.
* @param key Name to set
* @param v Corresponding value
* @return <tt>v</tt>
*/
public Object put( String key , Object v );
public void putAll( BSONObject o );
public void putAll( Map m );
/** Gets a field from this object by a given name.
* @param key The name of the field fetch
* @return The field, if found
*/
public Object get( String key );
/**
* Returns a map representing this BSONObject.
* @return the map
*/
public Map toMap();
/** Remove a field with a given name from this object.
* @param key The name of the field to remove
* @return The value removed from this object
*/
public Object removeField( String key );
/**
* @deprecated
*/
public boolean containsKey( String s );
/** Checks if this object contains a field with the given name.
* @param s Field name for which to check
* @return if this object contains a field with the given name
*/
public boolean containsField(String s);
/** Returns this object's fields' names
* @return The names of the fields in this object
*/
public Set<String> keySet();
}