final ObjectAssociation association = object.getSpecification().getAssociation(name); if (data.trim().length() == 0) { if (!association.isEmpty(object) && association instanceof OneToOneAssociation) { ((OneToOneAssociation) association).clearAssociation(object);
if (data.trim().length() == 0) { if ( association instanceof OneToOneAssociation && !association.isEmpty(object, InteractionInitiatedBy.FRAMEWORK)) { final OneToOneAssociation property = (OneToOneAssociation) association; property.set(object, null, InteractionInitiatedBy.FRAMEWORK);
if (fld.isEmpty(pattern, InteractionInitiatedBy.FRAMEWORK)) { continue;
if (fld.getSpecification().isCollectionOrIsAggregated()) { if (fld.isEmpty(pattern)) { continue;
final boolean isEmpty = association.isEmpty(adapter, InteractionInitiatedBy.FRAMEWORK); final String associationId = association.getId(); writer.write(" " + associationId + ": ");
final boolean isEmpty = association.isEmpty(adapter); final String associationId = association.getId(); writer.write(" " + associationId + ": ");
private void addObjectAndAssociates(final ObjectAdapter adapter) { if (objects.contains(adapter.getObject())) { return; } objects.add(adapter.getObject()); final ObjectSpecification adapterSpec = adapter.getSpecification(); final List<ObjectAssociation> associations = adapterSpec.getAssociations(); for (final ObjectAssociation association : associations) { if (association.isNotPersisted()) { continue; } final ObjectAdapter associatedObject = association.get(adapter); final boolean isEmpty = association.isEmpty(adapter); if (isEmpty) { continue; } if (association.isOneToManyAssociation()) { final CollectionFacet facet = associatedObject.getSpecification().getFacet(CollectionFacet.class); for (final ObjectAdapter element : facet.iterable(associatedObject)) { addObjectAndAssociates(element); } } else if (association.isOneToOneAssociation() && !association.getSpecification().isParseable()) { addObjectAndAssociates(associatedObject); } } }
protected ObjectData createObjectData(final ObjectAdapter adapter, final boolean ensurePersistent) { if (LOG.isDebugEnabled()) { LOG.debug("compiling object data for " + adapter); } final ObjectSpecification adapterSpec = adapter.getSpecification(); final ObjectData data = new ObjectData(adapterSpec, (SerialOid) adapter.getOid(), (FileVersion) adapter.getVersion()); final List<ObjectAssociation> associations = adapterSpec.getAssociations(); for (final ObjectAssociation association : associations) { if (association.isNotPersisted()) { continue; } final ObjectAdapter associatedObject = association.get(adapter); final boolean isEmpty = association.isEmpty(adapter); final String associationId = association.getId(); if (association.isOneToManyAssociation()) { saveCollection(associationId, data, associatedObject, ensurePersistent); } else if (association.getSpecification().isEncodeable()) { saveEncoded(data, associationId, associatedObject, isEmpty); } else if (association.isOneToOneAssociation()) { saveReference(data, associationId, associatedObject, ensurePersistent); } } return data; }
private void addObjectAndAssociates(final ObjectAdapter adapter) { if (objects.contains(adapter.getObject())) { return; } objects.add(adapter.getObject()); final ObjectSpecification adapterSpec = adapter.getSpecification(); final List<ObjectAssociation> associations = adapterSpec.getAssociations(Contributed.EXCLUDED); for (final ObjectAssociation association : associations) { if (association.isNotPersisted()) { continue; } final ObjectAdapter associatedObject = association.get(adapter, InteractionInitiatedBy.FRAMEWORK); final boolean isEmpty = association.isEmpty(adapter, InteractionInitiatedBy.FRAMEWORK); if (isEmpty) { continue; } if (association.isOneToManyAssociation()) { final CollectionFacet facet = associatedObject.getSpecification().getFacet(CollectionFacet.class); for (final ObjectAdapter element : facet.iterable(associatedObject)) { addObjectAndAssociates(element); } } else if (association.isOneToOneAssociation() && !association.getSpecification().isParseable()) { addObjectAndAssociates(associatedObject); } } }