/** * PUBLIC: * Define the source foreign key relationship in the one-to-one mapping. * This method is used to add foreign key relationships to the mapping. * Both the source foreign key field name and the corresponding * target primary key field name must be specified. */ public void addForeignKeyField(DatabaseField sourceForeignKeyField, DatabaseField targetKeyField) { this.getSourceToTargetKeyFields().put(sourceForeignKeyField, targetKeyField); this.getTargetToSourceKeyFields().put(targetKeyField, sourceForeignKeyField); this.getForeignKeyFields().add(sourceForeignKeyField); this.setIsForeignKeyRelationship(true); }
/** * PUBLIC: * Define the source foreign key relationship in the one-to-one mapping. * This method is used to add foreign key relationships to the mapping. * Both the source foreign key field name and the corresponding * target primary key field name must be specified. */ @Override public void addForeignKeyField(DatabaseField sourceForeignKeyField, DatabaseField targetKeyField) { getSourceToTargetKeyFields().put(sourceForeignKeyField, targetKeyField); getTargetToSourceKeyFields().put(targetKeyField, sourceForeignKeyField); getForeignKeyFields().add(sourceForeignKeyField); setIsForeignKeyRelationship(true); }
/** * PUBLIC: * Define the source foreign key relationship in the one-to-one mapping. * This method is used to add foreign key relationships to the mapping. * Both the source foreign key field name and the corresponding * target primary key field name must be specified. */ @Override public void addForeignKeyField(DatabaseField sourceForeignKeyField, DatabaseField targetKeyField) { getSourceToTargetKeyFields().put(sourceForeignKeyField, targetKeyField); getTargetToSourceKeyFields().put(targetKeyField, sourceForeignKeyField); getForeignKeyFields().add(sourceForeignKeyField); setIsForeignKeyRelationship(true); }
/** * INTERNAL: * Get a value from the object and set that in the respective field of the row. */ @Override public void writeFromObjectIntoRow(Object object, AbstractRecord Record, AbstractSession session, WriteType writeType) { if (isReadOnly() || (!isForeignKeyRelationship())) { return; } AbstractRecord referenceRow = getIndirectionPolicy().extractReferenceRow(getAttributeValueFromObject(object)); if (referenceRow == null) { // Extract from object. Object referenceObject = getRealAttributeValueFromObject(object, session); for (int i = 0; i < getForeignKeyFields().size(); i++) { DatabaseField sourceKey = getForeignKeyFields().get(i); DatabaseField targetKey = getSourceToTargetKeyFields().get(sourceKey); Object referenceValue = null; // If privately owned part is null then method cannot be invoked. if (referenceObject != null) { referenceValue = getReferenceDescriptor().getObjectBuilder().extractValueFromObjectForField(referenceObject, targetKey, session); } Record.add(sourceKey, referenceValue); } } else { for (int i = 0; i < getForeignKeyFields().size(); i++) { DatabaseField sourceKey = getForeignKeyFields().get(i); Record.add(sourceKey, referenceRow.get(sourceKey)); } } }
/** * INTERNAL: * Get a value from the object and set that in the respective field of the row. */ public void writeFromObjectIntoRow(Object object, AbstractRecord Record, AbstractSession session) { if (isReadOnly() || (!isForeignKeyRelationship())) { return; } AbstractRecord referenceRow = getIndirectionPolicy().extractReferenceRow(getAttributeValueFromObject(object)); if (referenceRow == null) { // Extract from object. Object referenceObject = getRealAttributeValueFromObject(object, session); for (int i = 0; i < getForeignKeyFields().size(); i++) { DatabaseField sourceKey = getForeignKeyFields().get(i); DatabaseField targetKey = (DatabaseField)getSourceToTargetKeyFields().get(sourceKey); Object referenceValue = null; // If privately owned part is null then method cannot be invoked. if (referenceObject != null) { referenceValue = getReferenceDescriptor().getObjectBuilder().extractValueFromObjectForField(referenceObject, targetKey, session); } Record.add(sourceKey, referenceValue); } } else { for (int i = 0; i < getForeignKeyFields().size(); i++) { DatabaseField sourceKey = getForeignKeyFields().get(i); Record.add(sourceKey, referenceRow.get(sourceKey)); } } }
/** * INTERNAL: * Get a value from the object and set that in the respective field of the row. */ @Override public void writeFromObjectIntoRow(Object object, AbstractRecord Record, AbstractSession session, WriteType writeType) { if (isReadOnly() || (!isForeignKeyRelationship())) { return; } AbstractRecord referenceRow = getIndirectionPolicy().extractReferenceRow(getAttributeValueFromObject(object)); if (referenceRow == null) { // Extract from object. Object referenceObject = getRealAttributeValueFromObject(object, session); for (int i = 0; i < getForeignKeyFields().size(); i++) { DatabaseField sourceKey = getForeignKeyFields().get(i); DatabaseField targetKey = getSourceToTargetKeyFields().get(sourceKey); Object referenceValue = null; // If privately owned part is null then method cannot be invoked. if (referenceObject != null) { referenceValue = getReferenceDescriptor().getObjectBuilder().extractValueFromObjectForField(referenceObject, targetKey, session); } Record.add(sourceKey, referenceValue); } } else { for (int i = 0; i < getForeignKeyFields().size(); i++) { DatabaseField sourceKey = getForeignKeyFields().get(i); Record.add(sourceKey, referenceRow.get(sourceKey)); } } }
clone.setForeignKeyFields(org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(getForeignKeyFields().size())); clone.setSourceToTargetKeyFields(new HashMap(getSourceToTargetKeyFields().size())); clone.setTargetToSourceKeyFields(new HashMap(getTargetToSourceKeyFields().size())); Map setOfFields = new HashMap(getTargetToSourceKeyFields().size()); for (Enumeration enumtr = getForeignKeyFields().elements(); enumtr.hasMoreElements();) { DatabaseField field = (DatabaseField)enumtr.nextElement(); clone.getForeignKeyFields().addElement(fieldClone);
public Object clone() { EISOneToOneMapping clone = (EISOneToOneMapping)super.clone(); clone.setForeignKeyFields(org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(getForeignKeyFields().size())); clone.setSourceToTargetKeyFields(new HashMap(getSourceToTargetKeyFields().size())); clone.setTargetToSourceKeyFields(new HashMap(getTargetToSourceKeyFields().size())); Map setOfFields = new HashMap(getTargetToSourceKeyFields().size()); for (Enumeration enumtr = getForeignKeyFields().elements(); enumtr.hasMoreElements();) { DatabaseField field = (DatabaseField)enumtr.nextElement(); clone.getForeignKeyFields().addElement(fieldClone);
public Object clone() { EISOneToOneMapping clone = (EISOneToOneMapping)super.clone(); clone.setForeignKeyFields(org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(getForeignKeyFields().size())); clone.setSourceToTargetKeyFields(new HashMap(getSourceToTargetKeyFields().size())); clone.setTargetToSourceKeyFields(new HashMap(getTargetToSourceKeyFields().size())); Map setOfFields = new HashMap(getTargetToSourceKeyFields().size()); for (Enumeration enumtr = getForeignKeyFields().elements(); enumtr.hasMoreElements();) { DatabaseField field = (DatabaseField)enumtr.nextElement(); clone.getForeignKeyFields().addElement(fieldClone);
/** * INTERNAL: * Initialize the mapping. */ @Override public void initialize(AbstractSession session) throws DescriptorException { super.initialize(session); // Must build foreign keys fields. List foreignKeyFields = getForeignKeyFields(); int size = foreignKeyFields.size(); for (int index = 0; index < size; index++) { DatabaseField foreignKeyField = (DatabaseField)foreignKeyFields.get(index); foreignKeyField = getDescriptor().buildField(foreignKeyField); foreignKeyFields.set(index, foreignKeyField); } initializeForeignKeys(session); if (shouldInitializeSelectionCriteria()) { initializeSelectionCriteria(session); } else { setShouldVerifyDelete(false); } setFields(collectFields()); }
/** * INTERNAL: * Initialize the mapping. */ public void initialize(AbstractSession session) throws DescriptorException { super.initialize(session); // Must build foreign keys fields. List foreignKeyFields = getForeignKeyFields(); int size = foreignKeyFields.size(); for (int index = 0; index < size; index++) { DatabaseField foreignKeyField = (DatabaseField)foreignKeyFields.get(index); foreignKeyField = getDescriptor().buildField(foreignKeyField); foreignKeyFields.set(index, foreignKeyField); } initializeForeignKeys(session); if (shouldInitializeSelectionCriteria()) { initializeSelectionCriteria(session); } else { setShouldVerifyDelete(false); } setFields(collectFields()); }
/** * INTERNAL: * Initialize the mapping. */ @Override public void initialize(AbstractSession session) throws DescriptorException { super.initialize(session); // Must build foreign keys fields. List foreignKeyFields = getForeignKeyFields(); int size = foreignKeyFields.size(); for (int index = 0; index < size; index++) { DatabaseField foreignKeyField = (DatabaseField)foreignKeyFields.get(index); foreignKeyField = getDescriptor().buildField(foreignKeyField); foreignKeyFields.set(index, foreignKeyField); } initializeForeignKeys(session); if (shouldInitializeSelectionCriteria()) { initializeSelectionCriteria(session); } else { setShouldVerifyDelete(false); } setFields(collectFields()); }