Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.nakedobjects.plugins.xml.objectstore.internal.data;
  
  import java.util.HashMap;
  import java.util.Map;
  
A logical collection of elements of a specified type
 
 public class ObjectData extends Data {
 	private final Map<StringObjectfieldById;
 
 	public ObjectData(
 			final NakedObjectSpecification noSpec
 			final SerialOid oid,
 			final FileVersion version) {
 		super(noSpecoidversion);
 		 = new HashMap<StringObject>();
 	}
 
 	public Iterable<Stringfields() {
 		return .keySet();
 	}
 
 	//////////////////////////////////////////////////////////
 	// id
 	//////////////////////////////////////////////////////////
 
 	public String id(final String fieldId) {
 		final Object field = get(fieldId);
 		return field == null ? null : "" + ((SerialOidfield).getSerialNo();
 	}
 
 	
 	//////////////////////////////////////////////////////////
 	// value
 	//////////////////////////////////////////////////////////
 
 	public void set(final String fieldIdfinal String value) {
 		.put(fieldIdvalue);
 	}
 
 	public void saveValue(final String fieldIdfinal boolean isEmpty,
 			final String encodedString) {
 		if (isEmpty) {
 			.remove(fieldId);
 		} else {
 			.put(fieldIdencodedString);
 		}
 	}
 
 	public String value(final String fieldId) {
 		return (Stringget(fieldId);
 	}
 
 	
 	//////////////////////////////////////////////////////////
 	// reference
 	//////////////////////////////////////////////////////////
 
 	public Object get(final String fieldId) {
 		return .get(fieldId);
 	}
 
 	public void set(final String fieldIdfinal Object oid) {
 		if (oid == null) {
 			.remove(fieldId);
 		} else {
 			.put(fieldIdoid);
 		}
 	}
 
 	//////////////////////////////////////////////////////////
 	// collection
 	//////////////////////////////////////////////////////////
 
 	public void initCollection(final String fieldId) {
 		.put(fieldIdnew ReferenceVector());
 	}
 
 	public void addElement(final String fieldIdfinal SerialOid elementOid) {
 		if (!.containsKey(fieldId)) {
 			throw new NakedObjectException("Field " + fieldId
 					+ " not found  in hashtable");
 		}
 
 		final ReferenceVector v = (ReferenceVector.get(fieldId);
 		v.add(elementOid);
 	}
 
 	public ReferenceVector elements(final String fieldId) {
 		return (ReferenceVector.get(fieldId);
	}
	public void addAssociation(final NakedObject fieldContent,
			final String fieldIdfinal boolean ensurePersistent) {
		final boolean notAlreadyPersistent = fieldContent != null
				&& fieldContent.isTransient();
		if (ensurePersistent && notAlreadyPersistent) {
					"Cannot save an object that is not persistent: "
fieldContent);
		}
		// LOG.debug("adding reference field " + fieldId +" " + fieldContent);
		set(fieldIdfieldContent == null ? null : fieldContent.getOid());
	}
	public void addInternalCollection(final NakedObject collection,
			final String fieldIdfinal boolean ensurePersistent) {
		/*
		 * if (ensurePersistent && collection != null && collection.getOid() ==
		 * null) { throw new
		 * IllegalStateException("Cannot save a collection that is not persistent: "
		 * + collection); }
		 */
		// int size = collection.size();
		final CollectionFacet facet = CollectionFacetUtils
		for (NakedObject element : facet.iterable(collection)) {
			// LOG.debug("adding element to internal collection field " +
			// fieldId +" " + element);
			final Object elementOid = element.getOid();
			if (elementOid == null) {
				throw new IllegalStateException("Element is not persistent "
element);
			}
			addElement(fieldId, (SerialOidelementOid);
		}
		/*
		 * while (e.hasMoreElements()) { NakedObject element = (NakedObject)
		 * e.nextElement(); //
		 * LOG.debug("adding element to internal collection field " + fieldId
		 * +" " + element); Object elementOid = element.getOid(); if (elementOid
		 * == null) { throw new IllegalStateException("Element is not persistent
		 * "+element); }
		 * 
		 * addElement(fieldId, (SimpleOid) elementOid); }
		 */}
	//////////////////////////////////////////////////////////
	// toString
	//////////////////////////////////////////////////////////
	public String toString() {
		return "ObjectData[type=" + getTypeName() + ",oid=" + getOid()
",fields=" +  + "]";
	}
// Copyright (c) Naked Objects Group Ltd.
New to GrepCode? Check out our FAQ X