private final Object readSimpleProperty(String property) { // side effect - resolves HOLLOW object Object object = readProperty(property); // if a null value is returned, there is still a chance to // find a non-persistent property via reflection if (object == null && !values.containsKey(property)) { object = PropertyUtils.getProperty(this, property); } return object; }
private final Object readSimpleProperty(String property) { // side effect - resolves HOLLOW object Object object = readProperty(property); // if a null value is returned, there is still a chance to // find a non-persistent property via reflection if (object == null && !values.containsKey(property)) { object = PropertyUtils.getProperty(this, property); } return object; }
Object property = readProperty(relName); if(property == null) { throw new IllegalArgumentException("unknown relName " + relName);
public void removeToManyTarget(String relName, DataObject value, boolean setReverse) { // Now do the rest of the normal handling (regardless of whether it was // flattened or not) Object holder = readProperty(relName); // call 'propertyChanged' AFTER readProperty as readProperty ensures // that this // object fault is resolved getObjectContext().propertyChanged(this, relName, value, null); // TODO: andrus 8/20/2007 - can we optimize this somehow, avoiding type // checking?? if (holder instanceof Collection) { ((Collection<Object>) holder).remove(value); } else if (holder instanceof Map) { ((Map<Object, Object>) holder).remove(getMapKey(relName, value)); } if (value != null && setReverse) { unsetReverseRelationship(relName, value); } }
public void addToManyTarget(String relName, DataObject value, boolean setReverse) { if (value == null) { throw new NullPointerException("Attempt to add null target DataObject."); } willConnect(relName, value); // Now do the rest of the normal handling (regardless of whether it was // flattened or not) Object holder = readProperty(relName); // call 'propertyChanged' AFTER readProperty as readProperty ensures // that this // object fault is resolved getObjectContext().propertyChanged(this, relName, null, value); // TODO: andrus 8/20/2007 - can we optimize this somehow, avoiding type // checking?? if (holder instanceof Collection) { ((Collection<Object>) holder).add(value); } else if (holder instanceof Map) { ((Map<Object, Object>) holder).put(getMapKey(relName, value), value); } if (setReverse) { setReverseRelationship(relName, value); } }
public void addToManyTarget(String relName, DataObject value, boolean setReverse) { if (value == null) { throw new NullPointerException("Attempt to add null target DataObject."); } willConnect(relName, value); // Now do the rest of the normal handling (regardless of whether it was // flattened or not) List list = (List) readProperty(relName); // call 'recordArcCreated' AFTER readProperty as readProperty ensures that this // object fault is resolved getDataContext().getObjectStore().recordArcCreated( this, value.getObjectId(), relName); list.add(value); if (value != null && setReverse) { setReverseRelationship(relName, value); } }
public void removeToManyTarget(String relName, DataObject value, boolean setReverse) { // Now do the rest of the normal handling (regardless of whether it was // flattened or not) List relList = (List) readProperty(relName); // call 'recordArcDeleted' AFTER readProperty as readProperty ensures that this // object fault is resolved getDataContext().getObjectStore().recordArcDeleted( this, value != null ? value.getObjectId() : null, relName); relList.remove(value); if (persistenceState == PersistenceState.COMMITTED) { persistenceState = PersistenceState.MODIFIED; } if (value != null && setReverse) { unsetReverseRelationship(relName, value); } }
public void setToOneTarget(String relationshipName, DataObject value, boolean setReverse) { willConnect(relationshipName, value); Object oldTarget = readProperty(relationshipName); if (oldTarget == value) { return; } getObjectContext().propertyChanged(this, relationshipName, oldTarget, value); if (setReverse) { // unset old reverse relationship if (oldTarget instanceof DataObject) { unsetReverseRelationship(relationshipName, (DataObject) oldTarget); } // set new reverse relationship if (value != null) { setReverseRelationship(relationshipName, value); } } objectContext.prepareForAccess(this, relationshipName, false); writePropertyDirectly(relationshipName, value); }
public void setToOneTarget( String relationshipName, DataObject value, boolean setReverse) { willConnect(relationshipName, value); Object oldTarget = readProperty(relationshipName); if (oldTarget == value) { return; } getDataContext().getObjectStore().recordArcCreated( this, value != null ? value.getObjectId() : null, relationshipName); if (setReverse) { // unset old reverse relationship if (oldTarget instanceof DataObject) { unsetReverseRelationship(relationshipName, (DataObject) oldTarget); } // set new reverse relationship if (value != null) { setReverseRelationship(relationshipName, value); } } objectContext.prepareForAccess(this, relationshipName); writePropertyDirectly(relationshipName, value); }