/** * INTERNAL: * Return the value of an attribute unwrapping value holders if required. */ public Object getRealAttributeValueFromObject(Object object, AbstractSession session) throws DescriptorException { return getRealAttributeValueFromAttribute(getAttributeValueFromObject(object), object, session); }
/** * INTERNAL: * The method validateAttributeOfInstantiatedObject(Object attributeValue) fixes the value of the attributeValue * in cases where it is null and indirection requires that it contain some specific data structure. Return whether this will happen. * This method is used to help determine if indirection has been triggered * @param object * @return * @see org.eclipse.persistence.internal.indirection.IndirectionPolicy#validateAttributeOfInstantiatedObject(Object) */ public boolean isAttributeValueFullyBuilt(Object object){ Object attributeValue = super.getAttributeValueFromObject(object); return this.indirectionPolicy.isAttributeValueFullyBuilt(attributeValue); }
/** * INTERNAL: * Return the value of an attribute unwrapping value holders if required. */ public Object getRealAttributeValueFromObject(Object object, AbstractSession session) throws DescriptorException { return getRealAttributeValueFromAttribute(getAttributeValueFromObject(object), object, session); }
/** * INTERNAL: * Return the value of an attribute unwrapping value holders if required. */ public Object getRealAttributeValueFromObject(Object object, AbstractSession session) throws DescriptorException { return getRealAttributeValueFromAttribute(getAttributeValueFromObject(object), object, session); }
/** * INTERNAL: */ public Object getFieldValue(Object object, CoreAbstractSession session, AbstractMarshalRecord record) { Object attributeValue = super.getAttributeValueFromObject(object); attributeValue = convertObjectValueToDataValue(attributeValue, (AbstractSession) session, (XMLMarshaller) record.getMarshaller()); return attributeValue; }
/** * INTERNAL: * Check for write-only, one-way transformation. */ @Override public Object getAttributeValueFromObject(Object object) throws DescriptorException { if (isWriteOnly()) { return null; } Object attributeValue = super.getAttributeValueFromObject(object); return this.indirectionPolicy.validateAttributeOfInstantiatedObject(attributeValue); }
/** * INTERNAL: */ public Object getFieldValue(Object object, CoreAbstractSession session, AbstractMarshalRecord record) { Object attributeValue = super.getAttributeValueFromObject(object); attributeValue = convertObjectValueToDataValue(attributeValue, (AbstractSession) session, (XMLMarshaller) record.getMarshaller()); return attributeValue; }
/** * INTERNAL * Replace the client value holder with the server value holder, * after copying some of the settings from the client value holder. */ public void mergeRemoteValueHolder(Object clientSideDomainObject, Object serverSideDomainObject, MergeManager mergeManager) { // This will always be a remote value holder coming from the server, RemoteValueHolder serverValueHolder = (RemoteValueHolder)this.mapping.getAttributeValueFromObject(serverSideDomainObject); mergeClientIntoServerValueHolder(serverValueHolder, mergeManager); this.mapping.setAttributeValueInObject(clientSideDomainObject, serverValueHolder); }
/** * INTERNAL: * Check for write-only, one-way transformation. */ public Object getAttributeValueFromObject(Object object) throws DescriptorException { if (isWriteOnly()) { return null; } Object attributeValue = super.getAttributeValueFromObject(object); return this.indirectionPolicy.validateAttributeOfInstantiatedObject(attributeValue); }
/** * INTERNAL * Replace the client value holder with the server value holder, * after copying some of the settings from the client value holder. */ public void mergeRemoteValueHolder(Object clientSideDomainObject, Object serverSideDomainObject, MergeManager mergeManager) { // This will always be a remote value holder coming from the server, RemoteValueHolder serverValueHolder = (RemoteValueHolder)this.mapping.getAttributeValueFromObject(serverSideDomainObject); mergeClientIntoServerValueHolder(serverValueHolder, mergeManager); this.mapping.setAttributeValueInObject(clientSideDomainObject, serverValueHolder); }
/** * INTERNAL: * Check for write-only, one-way transformation. */ public Object getAttributeValueFromObject(Object object) throws DescriptorException { if (isWriteOnly()) { return null; } Object attributeValue = super.getAttributeValueFromObject(object); return getIndirectionPolicy().validateAttributeOfInstantiatedObject(attributeValue); }
/** * INTERNAL * Replace the client value holder with the server value holder, * after copying some of the settings from the client value holder. */ public void mergeRemoteValueHolder(Object clientSideDomainObject, Object serverSideDomainObject, MergeManager mergeManager) { // This will always be a remote value holder coming from the server, RemoteValueHolder serverValueHolder = (RemoteValueHolder)getMapping().getAttributeValueFromObject(serverSideDomainObject); mergeClientIntoServerValueHolder(serverValueHolder, mergeManager); getMapping().setAttributeValueInObject(clientSideDomainObject, serverValueHolder); }
/** * INTERNAL * Replace the client value holder with the server value holder, * after copying some of the settings from the client value holder. */ public void mergeRemoteValueHolder(Object clientSideDomainObject, Object serverSideDomainObject, MergeManager mergeManager) { // This will always be a transparent with a remote. IndirectContainer serverContainer = (IndirectContainer)getMapping().getAttributeValueFromObject(serverSideDomainObject); RemoteValueHolder serverValueHolder = (RemoteValueHolder)serverContainer.getValueHolder(); mergeClientIntoServerValueHolder(serverValueHolder, mergeManager); getMapping().setAttributeValueInObject(clientSideDomainObject, serverContainer); }
/** * INTERNAL: * Set the value of the appropriate attribute of target to attributeValue. * In this case, place the value inside the target's ValueHolder. */ public void setRealAttributeValueInObject(Object target, Object attributeValue) { IndirectContainer container = (IndirectContainer)this.getMapping().getAttributeValueFromObject(target); container.getValueHolder().setValue(attributeValue); this.getMapping().setAttributeValueInObject(target, container); }
/** * INTERNAL: * Set the value of the appropriate attribute of target to attributeValue. * In this case, place the value inside the target's ValueHolder. */ public void setRealAttributeValueInObject(Object target, Object attributeValue) { IndirectContainer container = (IndirectContainer)this.getMapping().getAttributeValueFromObject(target); container.getValueHolder().setValue(attributeValue); this.getMapping().setAttributeValueInObject(target, container); }
/** * Return the base value that is mapped to for given field. */ public Object getParentObjectForField(DatabaseField databaseField, Object domainObject) { Object valueIntoObject = domainObject; DatabaseMapping mapping = getMappingForField(databaseField); // Drill down through the aggregate mappings to get to the direct to field mapping. while (mapping.isAggregateObjectMapping()) { valueIntoObject = mapping.getAttributeValueFromObject(valueIntoObject); mapping = ((AggregateMapping)mapping).getReferenceDescriptor().getObjectBuilder().getMappingForField(databaseField); } return valueIntoObject; }
/** * INTERNAL: * Set the value of the appropriate attribute of target to attributeValue. * In this case, place the value inside the target's ValueHolder. */ public void setRealAttributeValueInObject(Object target, Object attributeValue) { IndirectContainer container = (IndirectContainer)this.getMapping().getAttributeValueFromObject(target); container.getValueHolder().setValue(attributeValue); this.getMapping().setAttributeValueInObject(target, container); }
/** * INTERNAL * Replace the client value holder with the server value holder, * after copying some of the settings from the client value holder. */ public void mergeRemoteValueHolder(Object clientSideDomainObject, Object serverSideDomainObject, MergeManager mergeManager) { // This will always be a transparent with a remote. IndirectContainer serverContainer = (IndirectContainer)getMapping().getAttributeValueFromObject(serverSideDomainObject); RemoteValueHolder serverValueHolder = (RemoteValueHolder)serverContainer.getValueHolder(); mergeClientIntoServerValueHolder(serverValueHolder, mergeManager); getMapping().setAttributeValueInObject(clientSideDomainObject, serverContainer); }
public DynamicEntity set(String propertyName, Object value) { DatabaseMapping mapping = getType().getMapping(propertyName); checkSetType(mapping, value); Object currentValue = mapping.getAttributeValueFromObject(this); if (currentValue instanceof ValueHolderInterface) { ((ValueHolderInterface) currentValue).setValue(value); } else { mapping.setAttributeValueInObject(this, value); } return this; }
/** * INTERNAL * Replace the client value holder with the server value holder, * after copying some of the settings from the client value holder. */ public void mergeRemoteValueHolder(Object clientSideDomainObject, Object serverSideDomainObject, MergeManager mergeManager) { // This will always be a transparent with a remote. IndirectContainer serverContainer = (IndirectContainer)getMapping().getAttributeValueFromObject(serverSideDomainObject); RemoteValueHolder serverValueHolder = (RemoteValueHolder)serverContainer.getValueHolder(); mergeClientIntoServerValueHolder(serverValueHolder, mergeManager); getMapping().setAttributeValueInObject(clientSideDomainObject, serverContainer); }