Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Hibernate OGM, Domain model persistence for NoSQL datastores
   *
   * License: GNU Lesser General Public License (LGPL), version 2.1 or later
   * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
   */
  package org.hibernate.ogm.model.spi;
  
  import static org.hibernate.ogm.model.spi.TupleOperationType.PUT;
 import static org.hibernate.ogm.model.spi.TupleOperationType.PUT_NULL;
 import static org.hibernate.ogm.model.spi.TupleOperationType.REMOVE;
 
 import java.util.Map;
 import java.util.Set;
 
Represents a Tuple (think of it as a row) A tuple accepts a TupleShapshot which is a read-only state of the tuple at creation time. A tuple collects changes applied to it. These changes are represented by a list of TupleOperation. It is intended that GridDialects retrieve to these actions and reproduce them to the datastore. The list of changes is computed based off the snapshot.

Author(s):
Emmanuel Bernard <emmanuel@hibernate.org>
Sanne Grinovero <sanne@hibernate.org>
 
 public class Tuple {
 
 	private final TupleSnapshot snapshot;
 	private Map<StringTupleOperationcurrentState = null//lazy initialize the Map as it costs quite some memory
 
 	public Tuple() {
 	}
 
 	public Tuple(TupleSnapshot snapshot) {
 		this. = snapshot;
 	}
 
 	public Object get(String column) {
 		if (  == null ) {
 			return .getcolumn );
 		}
 		TupleOperation result = .getcolumn );
 		if ( result == null ) {
 			return .getcolumn );
 		}
 		else if ( result.getType() ==  || result.getType() ==  ) {
 			return null;
 		}
 		else {
 			return result.getValue();
 		}
 	}
 
 	public void put(String columnObject value) {
 		if (  == null ) {
 		}
 		if ( value == null ) {
 			.putcolumnnew TupleOperationcolumnnull ) );
 		}
 		else {
 			.putcolumnnew TupleOperationcolumnvalue ) );
 		}
 	}
 
 	public void remove(String column) {
 		if (  == null ) {
 		}
 		.putcolumnnew TupleOperationcolumnnull ) );
 	}

Return the list of actions on the tuple. Inherently deduplicated operations

Returns:
the operations to execute on the Tuple
 
 		if (  == null ) {
 			return Collections.emptySet();
 		}
 		else {
 		}
 	}
 
 	public TupleSnapshot getSnapshot() {
 		return ;
	}
	public Set<StringgetColumnNames() {
		if (  == null ) {
		}
		Set<StringcolumnNames = new HashSet<String>( .getColumnNames() );
		for ( TupleOperation op : .values() ) {
			switch ( op.getType() ) {
				case  :
				case  :
					columnNames.addop.getColumn() );
					break;
				case :
					columnNames.removeop.getColumn() );
					break;
			}
		}
		return columnNames;
	}
	public String toString() {
		StringBuilder sb = new StringBuilder"Tuple[");
		int i = 0;
		for ( String column : getColumnNames() ) {
			sb.appendcolumn ).append"=" ).appendgetcolumn ) );
			i++;
			if ( i < getColumnNames().size() ) {
				sb.append", " );
			}
		}
		sb.append"]" );
		return sb.toString();
	}
New to GrepCode? Check out our FAQ X