blob: b43c9126fb4964b18c59c20aba6c50cc3ec17778 [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.internal.sessions.factories;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.oxm.mappings.XMLCompositeDirectCollectionMapping;
import org.eclipse.persistence.oxm.mappings.XMLDirectMapping;
/**
* INTERNAL:
* Amend the EclipseLink project and descriptor information to write out an EclipseLink project
* to an XML file, replacing actual .class references with String equivalents
*/
public class ObjectPersistenceWorkbenchXMLProject extends EclipseLinkObjectPersistenceRuntimeXMLProject {
/**
* INTERNAL:
* Return a new descriptor project.
*/
public ObjectPersistenceWorkbenchXMLProject() {
super();
}
@Override
protected ClassDescriptor buildAggregateMappingDescriptor() {
ClassDescriptor descriptor = super.buildAggregateMappingDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("referenceClass");
referenceClassMapping.setGetMethodName("getReferenceClassName");
referenceClassMapping.setSetMethodName("setReferenceClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildForeignReferenceMappingDescriptor() {
ClassDescriptor descriptor = super.buildForeignReferenceMappingDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("referenceClass");
referenceClassMapping.setGetMethodName("getReferenceClassName");
referenceClassMapping.setSetMethodName("setReferenceClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildInheritancePolicyDescriptor() {
ClassDescriptor descriptor = super.buildInheritancePolicyDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("parentClass");
referenceClassMapping.setGetMethodName("getParentClassName");
referenceClassMapping.setSetMethodName("setParentClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildInstantiationPolicyDescriptor() {
ClassDescriptor descriptor = super.buildInstantiationPolicyDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("factoryClass");
referenceClassMapping.setGetMethodName("getFactoryClassName");
referenceClassMapping.setSetMethodName("setFactoryClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildInterfacePolicyDescriptor() {
ClassDescriptor descriptor = super.buildInterfacePolicyDescriptor();
XMLCompositeDirectCollectionMapping referenceClassMapping =
(XMLCompositeDirectCollectionMapping)descriptor.getMappingForAttributeName("parentInterfaces");
referenceClassMapping.setGetMethodName("getParentInterfaceNames");
referenceClassMapping.setSetMethodName("setParentInterfaceNames");
XMLDirectMapping implementorDescriptorMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("implementorDescriptor");
implementorDescriptorMapping.setGetMethodName("getImplementorDescriptorClassName");
implementorDescriptorMapping.setSetMethodName("setImplementorDescriptorClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildInterfaceContainerPolicyDescriptor() {
ClassDescriptor descriptor = super.buildInterfaceContainerPolicyDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("containerClass");
referenceClassMapping.setGetMethodName("getContainerClassName");
referenceClassMapping.setSetMethodName("setContainerClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildSortedCollectionContainerPolicyDescriptor() {
ClassDescriptor descriptor = super.buildSortedCollectionContainerPolicyDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("comparatorClass");
referenceClassMapping.setGetMethodName("getComparatorClassName");
referenceClassMapping.setSetMethodName("setComparatorClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildMethodBaseQueryRedirectorDescriptor() {
ClassDescriptor descriptor = super.buildMethodBaseQueryRedirectorDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("methodClass");
referenceClassMapping.setGetMethodName("getMethodClassName");
referenceClassMapping.setSetMethodName("setMethodClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildObjectLevelReadQueryDescriptor() {
ClassDescriptor descriptor = super.buildObjectLevelReadQueryDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("referenceClass");
referenceClassMapping.setGetMethodName("getReferenceClassName");
referenceClassMapping.setSetMethodName("setReferenceClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildQueryArgumentDescriptor() {
ClassDescriptor descriptor = super.buildQueryArgumentDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("type");
referenceClassMapping.setGetMethodName("getTypeName");
referenceClassMapping.setSetMethodName("setTypeName");
return descriptor;
}
@Override
protected ClassDescriptor buildRelationshipQueryKeyDescriptor() {
ClassDescriptor descriptor = super.buildRelationshipQueryKeyDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("referenceClass");
referenceClassMapping.setGetMethodName("getReferenceClassName");
referenceClassMapping.setSetMethodName("setReferenceClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildReturningFieldInfoDescriptor() {
ClassDescriptor descriptor = super.buildReturningFieldInfoDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("referenceClass");
referenceClassMapping.setGetMethodName("getReferenceClassName");
referenceClassMapping.setSetMethodName("setReferenceClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildClassDescriptorDescriptor() {
ClassDescriptor descriptor = super.buildClassDescriptorDescriptor();
XMLDirectMapping referenceClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("javaClass");
referenceClassMapping.setGetMethodName("getJavaClassName");
referenceClassMapping.setSetMethodName("setJavaClassName");
XMLDirectMapping amendmentClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("amendmentClass");
amendmentClassMapping.setGetMethodName("getAmendmentClassName");
amendmentClassMapping.setSetMethodName("setAmendmentClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildTypedAssociationDescriptor() {
ClassDescriptor descriptor = super.buildTypedAssociationDescriptor();
XMLDirectMapping keyMapping = (XMLDirectMapping)descriptor.getMappingForAttributeName("key");
keyMapping.setAttributeClassification(null);
keyMapping.setGetMethodName("getKey");
keyMapping.setSetMethodName("setKey");
return descriptor;
}
@Override
protected ClassDescriptor buildTypeConversionConverterDescriptor() {
ClassDescriptor descriptor = super.buildTypeConversionConverterDescriptor();
XMLDirectMapping objectClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("objectClass");
objectClassMapping.setGetMethodName("getObjectClassName");
objectClassMapping.setSetMethodName("setObjectClassName");
XMLDirectMapping dataClassNameMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("dataClass");
dataClassNameMapping.setGetMethodName("getDataClassName");
dataClassNameMapping.setSetMethodName("setDataClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildAbstractDirectMappingDescriptor() {
ClassDescriptor descriptor = super.buildAbstractDirectMappingDescriptor();
XMLDirectMapping attributeClassificationNameMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("attributeClassification");
attributeClassificationNameMapping.setGetMethodName("getAttributeClassificationName");
attributeClassificationNameMapping.setSetMethodName("setAttributeClassificationName");
return descriptor;
}
@Override
protected ClassDescriptor buildAbstractTransformationMappingDescriptor() {
ClassDescriptor descriptor = super.buildAbstractTransformationMappingDescriptor();
XMLDirectMapping objectClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("attributeTransformerClass");
objectClassMapping.setGetMethodName("getAttributeTransformerClassName");
objectClassMapping.setSetMethodName("setAttributeTransformerClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildTransformerBasedFieldTransformationDescriptor() {
ClassDescriptor descriptor = super.buildTransformerBasedFieldTransformationDescriptor();
XMLDirectMapping objectClassMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("transformerClass");
objectClassMapping.setGetMethodName("getTransformerClassName");
objectClassMapping.setSetMethodName("setTransformerClassName");
return descriptor;
}
@Override
protected ClassDescriptor buildPLSQLCollectionDescriptor() {
ClassDescriptor descriptor = super.buildPLSQLCollectionDescriptor();
XMLDirectMapping javaTypeMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("javaType");
javaTypeMapping.setGetMethodName("getJavaTypeName");
javaTypeMapping.setSetMethodName("setJavaTypeName");
return descriptor;
}
@Override
protected ClassDescriptor buildPLSQLrecordDescriptor() {
ClassDescriptor descriptor = super.buildPLSQLrecordDescriptor();
XMLDirectMapping javaTypeMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("javaType");
javaTypeMapping.setGetMethodName("getJavaTypeName");
javaTypeMapping.setSetMethodName("setJavaTypeName");
return descriptor;
}
@Override
protected ClassDescriptor buildStoredProcedureArgumentDescriptor() {
ClassDescriptor descriptor = super.buildStoredProcedureArgumentDescriptor();
XMLDirectMapping argumentTypeMapping =
(XMLDirectMapping)descriptor.getMappingForAttributeName("argumentType");
argumentTypeMapping.setGetMethodName("getArgumentTypeName");
argumentTypeMapping.setSetMethodName("setArgumentTypeName");
return descriptor;
}
}