/** * INTERNAL: */ protected MetadataPrimaryKeyJoinColumn(String sourceTableName, String targetTableName, String defaultPKFieldName, String defaultFKFieldName) { m_pkField = new DatabaseField(); m_pkField.setName(defaultPKFieldName); m_pkField.setTableName(sourceTableName); m_fkField = new DatabaseField(); m_fkField.setName(defaultFKFieldName); m_fkField.setTableName(targetTableName); m_fkField.setColumnDefinition(DEFAULT_COLUMN_DEFINITION); }
/** * INTERNAL: (Override from EmbeddedAccesor) * * Process an @AttributeOverride or attribute-override element for an * embedded object, that is, an aggregate object mapping in TopLink. */ protected void processAttributeOverride(AggregateObjectMapping mapping, MetadataColumn column) { super.processAttributeOverride(mapping, column); // Update our primary key field with the attribute override field. // The super class with ensure the correct field is on the metadata // column. DatabaseField field = column.getDatabaseField(); field.setTableName(m_descriptor.getPrimaryTableName()); m_idFields.put(column.getAttributeName(), field); }
/** * INTERNAL: * searches first descriptor than its ReturningPolicy for an equal field */ public DatabaseField getTypedField(DatabaseField field) { boolean mayBeMoreThanOne = hasMultipleTables() && !field.hasTableName(); DatabaseField foundField = null; for (int j = 0; j < getFields().size(); j++) { DatabaseField descField = (DatabaseField)getFields().elementAt(j); if (field.equals(descField)) { if (descField.getType() != null) { foundField = descField; if (!mayBeMoreThanOne || descField.getTable().equals(getDefaultTable())) { break; } } } } if (foundField != null) { foundField = (DatabaseField)foundField.clone(); if (!field.hasTableName()) { foundField.setTableName(""); } } return foundField; }
DatabaseField pkField = joinColumn.getPrimaryKeyField(); pkField.setName(getName(pkField, defaultPKFieldName, PK_CTX)); pkField.setTableName(descriptor.getPrimaryKeyTableName()); fkField.setTableName(mapping.getRelationTableQualifiedName());
/** * INTERNAL: */ protected MetadataJoinColumn(String defaultReferenceColumnName, String defaultName) { m_pkField = new DatabaseField(); m_pkField.setName(defaultReferenceColumnName); m_fkField = new DatabaseField(); m_fkField.setName(defaultName); m_fkField.setTableName(DEFAULT_TABLE); m_fkField.setUnique(DEFAULT_UNIQUE); m_fkField.setNullable(DEFAULT_NULLABLE); m_fkField.setUpdatable(DEFAULT_UPDATABLE); m_fkField.setInsertable(DEFAULT_INSERTABLE); m_fkField.setColumnDefinition(DEFAULT_COLUMN_DEFINITION); }
DatabaseField pkField = joinColumn.getPrimaryKeyField(); pkField.setName(getName(pkField, defaultPKFieldName, MetadataLogger.PK_COLUMN)); pkField.setTableName(getReferenceDescriptor().getPrimaryKeyTableName()); fkField.setTableName(m_descriptor.getPrimaryTableName());
/** * INTERNAL: (Override from EmbeddedAccesor) * * Process the embeddable class and gather up our 'original' collection of * primary key fields. They are original because they may change with the * specification of an attribute override. */ protected MetadataDescriptor processEmbeddableClass() { MetadataDescriptor embeddableDescriptor = super.processEmbeddableClass(); // After processing the embeddable class, we need to gather our // primary keys fields that we will eventually set on the owning // descriptor metadata. if (isEmbeddedId() && ! m_descriptor.ignoreIDs()) { if (embeddableDescriptor.getMappings().isEmpty()) { String accessType = embeddableDescriptor.usesPropertyAccess() ? AccessType.PROPERTY.name() : AccessType.FIELD.name(); m_validator.throwEmbeddedIdHasNoAttributes(m_descriptor.getJavaClass(), embeddableDescriptor.getJavaClass(), accessType); } for (DatabaseMapping mapping : embeddableDescriptor.getMappings()) { DatabaseField field = (DatabaseField) mapping.getField().clone(); field.setTableName(m_descriptor.getPrimaryTableName()); m_idFields.put(mapping.getAttributeName(), field); } } return embeddableDescriptor; } }
/** * INTERNAL: * Initialize the database field with the default values. */ public MetadataColumn(String attributeName, AnnotatedElement annotatedElement) { m_attributeName = attributeName; m_annotatedElement = annotatedElement; m_databaseField = new DatabaseField(); // Apply default values. m_databaseField.setUnique(DEFAULT_UNIQUE); m_databaseField.setNullable(DEFAULT_NULLABLE); m_databaseField.setUpdatable(DEFAULT_UPDATABLE); m_databaseField.setInsertable(DEFAULT_INSERTABLE); m_databaseField.setScale(DEFAULT_SCALE); m_databaseField.setLength(DEFAULT_LENGTH); m_databaseField.setPrecision(DEFAULT_PRECISION); m_databaseField.setName(DEFAULT_NAME); m_databaseField.setTableName(DEFAULT_TABLE); m_databaseField.setColumnDefinition(DEFAULT_COLUMN_DEFINITION); }
field.setTableName(m_descriptor.getPrimaryTableName());
/** * INTERNAL: * Process a discriminator column to set this class indicatior field name * for inheritance. */ protected void processDiscriminatorColumn(MetadataDiscriminatorColumn discriminatorColumn) { DatabaseField field = new DatabaseField(); field.setName(getName(discriminatorColumn.getName(), MetadataDiscriminatorColumn.DEFAULT_NAME, m_logger.DISCRIMINATOR_COLUMN)); field.setLength(discriminatorColumn.getLength()); field.setTableName(m_descriptor.getPrimaryTableName()); field.setColumnDefinition(discriminatorColumn.getColumnDefinition()); field.setType(MetadataHelper.getDiscriminatorType(discriminatorColumn.getDiscriminatorType())); // Set the class indicator field on the inheritance policy. m_descriptor.setClassIndicatorField(field); }
/** * INTERNAL: * Called for association override. */ public XMLJoinColumn(Node node, XMLHelper helper) { // Process the primary key field metadata. m_pkField.setName(helper.getNodeValue(node, XMLConstants.ATT_REFERENCED_COLUMN_NAME, DEFAULT_REFERENCED_COLUMN_NAME)); // Process the foreign key field metadata. m_fkField.setName(helper.getNodeValue(node, XMLConstants.ATT_NAME, DEFAULT_NAME)); m_fkField.setTableName(helper.getNodeValue(node, XMLConstants.ATT_TABLE, DEFAULT_TABLE)); m_fkField.setUnique(helper.getNodeValue(node, XMLConstants.ATT_UNIQUE, DEFAULT_UNIQUE)); m_fkField.setNullable(helper.getNodeValue(node, XMLConstants.ATT_NULLABLE, DEFAULT_NULLABLE)); m_fkField.setUpdatable(helper.getNodeValue(node, XMLConstants.ATT_UPDATABLE, DEFAULT_UPDATABLE)); m_fkField.setInsertable(helper.getNodeValue(node, XMLConstants.ATT_INSERTABLE, DEFAULT_INSERTABLE)); m_fkField.setColumnDefinition(helper.getNodeValue(node, XMLConstants.ATT_COLUMN_DEFINITION, DEFAULT_COLUMN_DEFINITION)); }
/** * INTERNAL: * Called for association override. */ public MetadataJoinColumn(JoinColumn joinColumn) { this(); if (joinColumn != null) { // Process the primary key field metadata. m_pkField.setName(joinColumn.referencedColumnName()); // Process the foreign key field metadata. m_fkField.setName(joinColumn.name()); m_fkField.setTableName(joinColumn.table()); m_fkField.setUnique(joinColumn.unique()); m_fkField.setNullable(joinColumn.nullable()); m_fkField.setUpdatable(joinColumn.updatable()); m_fkField.setInsertable(joinColumn.insertable()); m_fkField.setColumnDefinition(joinColumn.columnDefinition()); } }
/** * INTERNAL: */ public MetadataColumn(Column column, String attributeName, AnnotatedElement annotatedElement) { this(attributeName, annotatedElement); if (column != null) { // Apply the values from the column annotation. m_databaseField.setUnique(column.unique()); m_databaseField.setNullable(column.nullable()); m_databaseField.setUpdatable(column.updatable()); m_databaseField.setInsertable(column.insertable()); m_databaseField.setScale(column.scale()); m_databaseField.setLength(column.length()); m_databaseField.setPrecision(column.precision()); m_databaseField.setName(column.name()); m_databaseField.setTableName(column.table()); m_databaseField.setColumnDefinition(column.columnDefinition()); } }
m_databaseField.setTableName(helper.getNodeValue(node, XMLConstants.ATT_TABLE, DEFAULT_TABLE));