SpringEntityLogic.java
// license-header java merge-point
//
// Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
//
package org.andromda.cartridges.spring.metafacades;
import java.util.Collection;
import java.util.List;
import org.andromda.core.common.Introspector;
import org.andromda.core.metafacade.MetafacadeBase;
import org.andromda.core.metafacade.MetafacadeFactory;
import org.andromda.core.metafacade.ModelValidationMessage;
import org.andromda.metafacades.uml.AssociationEndFacade;
import org.andromda.metafacades.uml.AttributeFacade;
import org.andromda.metafacades.uml.ClassifierFacade;
import org.andromda.metafacades.uml.ConstraintFacade;
import org.andromda.metafacades.uml.DependencyFacade;
import org.andromda.metafacades.uml.Entity;
import org.andromda.metafacades.uml.EntityAssociationEnd;
import org.andromda.metafacades.uml.EntityQueryOperation;
import org.andromda.metafacades.uml.GeneralizableElementFacade;
import org.andromda.metafacades.uml.GeneralizationFacade;
import org.andromda.metafacades.uml.ModelElementFacade;
import org.andromda.metafacades.uml.ModelFacade;
import org.andromda.metafacades.uml.OperationFacade;
import org.andromda.metafacades.uml.PackageFacade;
import org.andromda.metafacades.uml.StateMachineFacade;
import org.andromda.metafacades.uml.StereotypeFacade;
import org.andromda.metafacades.uml.TaggedValueFacade;
import org.andromda.metafacades.uml.TemplateParameterFacade;
import org.andromda.metafacades.uml.TypeMappings;
import org.apache.log4j.Logger;
/**
* Represents a Spring persistent entity
* MetafacadeLogic for SpringEntity
*
* @see SpringEntity
*/
public abstract class SpringEntityLogic
extends MetafacadeBase
implements SpringEntity
{
/**
* The underlying UML object
* @see Object
*/
protected Object metaObject;
/** Create Metafacade implementation instance using the MetafacadeFactory from the context
* @param metaObjectIn
* @param context
*/
protected SpringEntityLogic(Object metaObjectIn, String context)
{
super(metaObjectIn, getContext(context));
this.superEntity =
(Entity)
MetafacadeFactory.getInstance().createFacadeImpl(
"org.andromda.metafacades.uml.Entity",
metaObjectIn,
getContext(context));
this.metaObject = metaObjectIn;
}
/**
* The logger instance.
*/
private static final Logger logger = Logger.getLogger(SpringEntityLogic.class);
/**
* Gets the context for this metafacade logic instance.
* @param context String. Set to SpringEntity if null
* @return context String
*/
private static String getContext(String context)
{
if (context == null)
{
context = "org.andromda.cartridges.spring.metafacades.SpringEntity";
}
return context;
}
private Entity superEntity;
private boolean superEntityInitialized = false;
/**
* Gets the Entity parent instance.
* @return this.superEntity Entity
*/
private Entity getSuperEntity()
{
if (!this.superEntityInitialized)
{
((MetafacadeBase)this.superEntity).setMetafacadeContext(this.getMetafacadeContext());
this.superEntityInitialized = true;
}
return this.superEntity;
}
/** Reset context only for non-root metafacades
* @param context
* @see MetafacadeBase#resetMetafacadeContext(String context)
*/
@Override
public void resetMetafacadeContext(String context)
{
if (!this.contextRoot) // reset context only for non-root metafacades
{
context = getContext(context); // to have same value as in original constructor call
setMetafacadeContext (context);
if (this.superEntityInitialized)
{
((MetafacadeBase)this.superEntity).resetMetafacadeContext(context);
}
}
}
/**
* @return boolean true always
* @see SpringEntity
*/
public boolean isSpringEntityMetaType()
{
return true;
}
// --------------- attributes ---------------------
/**
* @see SpringEntity#isDaoBusinessOperationsPresent()
* @return boolean
*/
protected abstract boolean handleIsDaoBusinessOperationsPresent();
private boolean __daoBusinessOperationsPresent1a;
private boolean __daoBusinessOperationsPresent1aSet = false;
/**
* Indicates whether or not any business DAO operations are present.
* @return (boolean)handleIsDaoBusinessOperationsPresent()
*/
public final boolean isDaoBusinessOperationsPresent()
{
boolean daoBusinessOperationsPresent1a = this.__daoBusinessOperationsPresent1a;
if (!this.__daoBusinessOperationsPresent1aSet)
{
// daoBusinessOperationsPresent has no pre constraints
daoBusinessOperationsPresent1a = handleIsDaoBusinessOperationsPresent();
// daoBusinessOperationsPresent has no post constraints
this.__daoBusinessOperationsPresent1a = daoBusinessOperationsPresent1a;
if (isMetafacadePropertyCachingEnabled())
{
this.__daoBusinessOperationsPresent1aSet = true;
}
}
return daoBusinessOperationsPresent1a;
}
/**
* @see SpringEntity#isDaoImplementationRequired()
* @return boolean
*/
protected abstract boolean handleIsDaoImplementationRequired();
private boolean __daoImplementationRequired2a;
private boolean __daoImplementationRequired2aSet = false;
/**
* True if an implementation is required for the dao class, this is the case when there are
* business operations or value-object transformation.
* @return (boolean)handleIsDaoImplementationRequired()
*/
public final boolean isDaoImplementationRequired()
{
boolean daoImplementationRequired2a = this.__daoImplementationRequired2a;
if (!this.__daoImplementationRequired2aSet)
{
// daoImplementationRequired has no pre constraints
daoImplementationRequired2a = handleIsDaoImplementationRequired();
// daoImplementationRequired has no post constraints
this.__daoImplementationRequired2a = daoImplementationRequired2a;
if (isMetafacadePropertyCachingEnabled())
{
this.__daoImplementationRequired2aSet = true;
}
}
return daoImplementationRequired2a;
}
/**
* @see SpringEntity#getDaoNoTransformationConstantName()
* @return String
*/
protected abstract String handleGetDaoNoTransformationConstantName();
private String __daoNoTransformationConstantName3a;
private boolean __daoNoTransformationConstantName3aSet = false;
/**
* The constant name denoting no transformation is to be applied.
* @return (String)handleGetDaoNoTransformationConstantName()
*/
public final String getDaoNoTransformationConstantName()
{
String daoNoTransformationConstantName3a = this.__daoNoTransformationConstantName3a;
if (!this.__daoNoTransformationConstantName3aSet)
{
// daoNoTransformationConstantName has no pre constraints
daoNoTransformationConstantName3a = handleGetDaoNoTransformationConstantName();
// daoNoTransformationConstantName has no post constraints
this.__daoNoTransformationConstantName3a = daoNoTransformationConstantName3a;
if (isMetafacadePropertyCachingEnabled())
{
this.__daoNoTransformationConstantName3aSet = true;
}
}
return daoNoTransformationConstantName3a;
}
/**
* @see SpringEntity#isHibernateInheritanceClass()
* @return boolean
*/
protected abstract boolean handleIsHibernateInheritanceClass();
private boolean __hibernateInheritanceClass4a;
private boolean __hibernateInheritanceClass4aSet = false;
/**
* Return true if the hibernate inheritance strategy is class.
* @return (boolean)handleIsHibernateInheritanceClass()
*/
public final boolean isHibernateInheritanceClass()
{
boolean hibernateInheritanceClass4a = this.__hibernateInheritanceClass4a;
if (!this.__hibernateInheritanceClass4aSet)
{
// hibernateInheritanceClass has no pre constraints
hibernateInheritanceClass4a = handleIsHibernateInheritanceClass();
// hibernateInheritanceClass has no post constraints
this.__hibernateInheritanceClass4a = hibernateInheritanceClass4a;
if (isMetafacadePropertyCachingEnabled())
{
this.__hibernateInheritanceClass4aSet = true;
}
}
return hibernateInheritanceClass4a;
}
/**
* @see SpringEntity#isHibernateInheritanceConcrete()
* @return boolean
*/
protected abstract boolean handleIsHibernateInheritanceConcrete();
private boolean __hibernateInheritanceConcrete5a;
private boolean __hibernateInheritanceConcrete5aSet = false;
/**
* Return true if the hibernate inheritance strategy is concrete.
* @return (boolean)handleIsHibernateInheritanceConcrete()
*/
public final boolean isHibernateInheritanceConcrete()
{
boolean hibernateInheritanceConcrete5a = this.__hibernateInheritanceConcrete5a;
if (!this.__hibernateInheritanceConcrete5aSet)
{
// hibernateInheritanceConcrete has no pre constraints
hibernateInheritanceConcrete5a = handleIsHibernateInheritanceConcrete();
// hibernateInheritanceConcrete has no post constraints
this.__hibernateInheritanceConcrete5a = hibernateInheritanceConcrete5a;
if (isMetafacadePropertyCachingEnabled())
{
this.__hibernateInheritanceConcrete5aSet = true;
}
}
return hibernateInheritanceConcrete5a;
}
/**
* @see SpringEntity#isHibernateInheritanceInterface()
* @return boolean
*/
protected abstract boolean handleIsHibernateInheritanceInterface();
private boolean __hibernateInheritanceInterface6a;
private boolean __hibernateInheritanceInterface6aSet = false;
/**
* Return true if the hibernate inheritance strategy is interface.
* @return (boolean)handleIsHibernateInheritanceInterface()
*/
public final boolean isHibernateInheritanceInterface()
{
boolean hibernateInheritanceInterface6a = this.__hibernateInheritanceInterface6a;
if (!this.__hibernateInheritanceInterface6aSet)
{
// hibernateInheritanceInterface has no pre constraints
hibernateInheritanceInterface6a = handleIsHibernateInheritanceInterface();
// hibernateInheritanceInterface has no post constraints
this.__hibernateInheritanceInterface6a = hibernateInheritanceInterface6a;
if (isMetafacadePropertyCachingEnabled())
{
this.__hibernateInheritanceInterface6aSet = true;
}
}
return hibernateInheritanceInterface6a;
}
/**
* @see SpringEntity#isHibernateInheritanceSubclass()
* @return boolean
*/
protected abstract boolean handleIsHibernateInheritanceSubclass();
private boolean __hibernateInheritanceSubclass7a;
private boolean __hibernateInheritanceSubclass7aSet = false;
/**
* Return true if the hibernate inheritance strategy is subclass.
* @return (boolean)handleIsHibernateInheritanceSubclass()
*/
public final boolean isHibernateInheritanceSubclass()
{
boolean hibernateInheritanceSubclass7a = this.__hibernateInheritanceSubclass7a;
if (!this.__hibernateInheritanceSubclass7aSet)
{
// hibernateInheritanceSubclass has no pre constraints
hibernateInheritanceSubclass7a = handleIsHibernateInheritanceSubclass();
// hibernateInheritanceSubclass has no post constraints
this.__hibernateInheritanceSubclass7a = hibernateInheritanceSubclass7a;
if (isMetafacadePropertyCachingEnabled())
{
this.__hibernateInheritanceSubclass7aSet = true;
}
}
return hibernateInheritanceSubclass7a;
}
/**
* @see SpringEntity#getHibernateInheritanceStrategy()
* @return String
*/
protected abstract String handleGetHibernateInheritanceStrategy();
private String __hibernateInheritanceStrategy8a;
private boolean __hibernateInheritanceStrategy8aSet = false;
/**
* Return the value of the tagged value andromda_hibernate_inheritance.
* @return (String)handleGetHibernateInheritanceStrategy()
*/
public final String getHibernateInheritanceStrategy()
{
String hibernateInheritanceStrategy8a = this.__hibernateInheritanceStrategy8a;
if (!this.__hibernateInheritanceStrategy8aSet)
{
// hibernateInheritanceStrategy has no pre constraints
hibernateInheritanceStrategy8a = handleGetHibernateInheritanceStrategy();
// hibernateInheritanceStrategy has no post constraints
this.__hibernateInheritanceStrategy8a = hibernateInheritanceStrategy8a;
if (isMetafacadePropertyCachingEnabled())
{
this.__hibernateInheritanceStrategy8aSet = true;
}
}
return hibernateInheritanceStrategy8a;
}
/**
* @see SpringEntity#getFullyQualifiedEntityName()
* @return String
*/
protected abstract String handleGetFullyQualifiedEntityName();
private String __fullyQualifiedEntityName9a;
private boolean __fullyQualifiedEntityName9aSet = false;
/**
* The fully qualified name of the entity class.
* @return (String)handleGetFullyQualifiedEntityName()
*/
public final String getFullyQualifiedEntityName()
{
String fullyQualifiedEntityName9a = this.__fullyQualifiedEntityName9a;
if (!this.__fullyQualifiedEntityName9aSet)
{
// fullyQualifiedEntityName has no pre constraints
fullyQualifiedEntityName9a = handleGetFullyQualifiedEntityName();
// fullyQualifiedEntityName has no post constraints
this.__fullyQualifiedEntityName9a = fullyQualifiedEntityName9a;
if (isMetafacadePropertyCachingEnabled())
{
this.__fullyQualifiedEntityName9aSet = true;
}
}
return fullyQualifiedEntityName9a;
}
/**
* @see SpringEntity#getFullyQualifiedEntityImplementationName()
* @return String
*/
protected abstract String handleGetFullyQualifiedEntityImplementationName();
private String __fullyQualifiedEntityImplementationName10a;
private boolean __fullyQualifiedEntityImplementationName10aSet = false;
/**
* The fully qualified name of the entity implementation class.
* @return (String)handleGetFullyQualifiedEntityImplementationName()
*/
public final String getFullyQualifiedEntityImplementationName()
{
String fullyQualifiedEntityImplementationName10a = this.__fullyQualifiedEntityImplementationName10a;
if (!this.__fullyQualifiedEntityImplementationName10aSet)
{
// fullyQualifiedEntityImplementationName has no pre constraints
fullyQualifiedEntityImplementationName10a = handleGetFullyQualifiedEntityImplementationName();
// fullyQualifiedEntityImplementationName has no post constraints
this.__fullyQualifiedEntityImplementationName10a = fullyQualifiedEntityImplementationName10a;
if (isMetafacadePropertyCachingEnabled())
{
this.__fullyQualifiedEntityImplementationName10aSet = true;
}
}
return fullyQualifiedEntityImplementationName10a;
}
/**
* @see SpringEntity#getDaoBaseName()
* @return String
*/
protected abstract String handleGetDaoBaseName();
private String __daoBaseName11a;
private boolean __daoBaseName11aSet = false;
/**
* The DAO base class name. This is the abstract DAO that contains CRUD operations
* as well as any generated finders defined on an entity.
* @return (String)handleGetDaoBaseName()
*/
public final String getDaoBaseName()
{
String daoBaseName11a = this.__daoBaseName11a;
if (!this.__daoBaseName11aSet)
{
// daoBaseName has no pre constraints
daoBaseName11a = handleGetDaoBaseName();
// daoBaseName has no post constraints
this.__daoBaseName11a = daoBaseName11a;
if (isMetafacadePropertyCachingEnabled())
{
this.__daoBaseName11aSet = true;
}
}
return daoBaseName11a;
}
/**
* @see SpringEntity#getDaoName()
* @return String
*/
protected abstract String handleGetDaoName();
private String __daoName12a;
private boolean __daoName12aSet = false;
/**
* The name of the DAO for the specified entity.
* @return (String)handleGetDaoName()
*/
public final String getDaoName()
{
String daoName12a = this.__daoName12a;
if (!this.__daoName12aSet)
{
// daoName has no pre constraints
daoName12a = handleGetDaoName();
// daoName has no post constraints
this.__daoName12a = daoName12a;
if (isMetafacadePropertyCachingEnabled())
{
this.__daoName12aSet = true;
}
}
return daoName12a;
}
/**
* @see SpringEntity#getDaoImplementationName()
* @return String
*/
protected abstract String handleGetDaoImplementationName();
private String __daoImplementationName13a;
private boolean __daoImplementationName13aSet = false;
/**
* The DAO implementation class name.
* @return (String)handleGetDaoImplementationName()
*/
public final String getDaoImplementationName()
{
String daoImplementationName13a = this.__daoImplementationName13a;
if (!this.__daoImplementationName13aSet)
{
// daoImplementationName has no pre constraints
daoImplementationName13a = handleGetDaoImplementationName();
// daoImplementationName has no post constraints
this.__daoImplementationName13a = daoImplementationName13a;
if (isMetafacadePropertyCachingEnabled())
{
this.__daoImplementationName13aSet = true;
}
}
return daoImplementationName13a;
}
/**
* @see SpringEntity#getEntityImplementationName()
* @return String
*/
protected abstract String handleGetEntityImplementationName();
private String __entityImplementationName14a;
private boolean __entityImplementationName14aSet = false;
/**
* The implementation name for the entity.
* @return (String)handleGetEntityImplementationName()
*/
public final String getEntityImplementationName()
{
String entityImplementationName14a = this.__entityImplementationName14a;
if (!this.__entityImplementationName14aSet)
{
// entityImplementationName has no pre constraints
entityImplementationName14a = handleGetEntityImplementationName();
// entityImplementationName has no post constraints
this.__entityImplementationName14a = entityImplementationName14a;
if (isMetafacadePropertyCachingEnabled())
{
this.__entityImplementationName14aSet = true;
}
}
return entityImplementationName14a;
}
/**
* @see SpringEntity#getEntityName()
* @return String
*/
protected abstract String handleGetEntityName();
private String __entityName15a;
private boolean __entityName15aSet = false;
/**
* The name of the plain entity name.
* @return (String)handleGetEntityName()
*/
public final String getEntityName()
{
String entityName15a = this.__entityName15a;
if (!this.__entityName15aSet)
{
// entityName has no pre constraints
entityName15a = handleGetEntityName();
// entityName has no post constraints
this.__entityName15a = entityName15a;
if (isMetafacadePropertyCachingEnabled())
{
this.__entityName15aSet = true;
}
}
return entityName15a;
}
/**
* @see SpringEntity#getFullyQualifiedDaoBaseName()
* @return String
*/
protected abstract String handleGetFullyQualifiedDaoBaseName();
private String __fullyQualifiedDaoBaseName16a;
private boolean __fullyQualifiedDaoBaseName16aSet = false;
/**
* The fully qualified name of the base DAO.
* @return (String)handleGetFullyQualifiedDaoBaseName()
*/
public final String getFullyQualifiedDaoBaseName()
{
String fullyQualifiedDaoBaseName16a = this.__fullyQualifiedDaoBaseName16a;
if (!this.__fullyQualifiedDaoBaseName16aSet)
{
// fullyQualifiedDaoBaseName has no pre constraints
fullyQualifiedDaoBaseName16a = handleGetFullyQualifiedDaoBaseName();
// fullyQualifiedDaoBaseName has no post constraints
this.__fullyQualifiedDaoBaseName16a = fullyQualifiedDaoBaseName16a;
if (isMetafacadePropertyCachingEnabled())
{
this.__fullyQualifiedDaoBaseName16aSet = true;
}
}
return fullyQualifiedDaoBaseName16a;
}
/**
* @see SpringEntity#getFullyQualifiedDaoImplementationName()
* @return String
*/
protected abstract String handleGetFullyQualifiedDaoImplementationName();
private String __fullyQualifiedDaoImplementationName17a;
private boolean __fullyQualifiedDaoImplementationName17aSet = false;
/**
* The fully qualified name of the DAO implemetation.
* @return (String)handleGetFullyQualifiedDaoImplementationName()
*/
public final String getFullyQualifiedDaoImplementationName()
{
String fullyQualifiedDaoImplementationName17a = this.__fullyQualifiedDaoImplementationName17a;
if (!this.__fullyQualifiedDaoImplementationName17aSet)
{
// fullyQualifiedDaoImplementationName has no pre constraints
fullyQualifiedDaoImplementationName17a = handleGetFullyQualifiedDaoImplementationName();
// fullyQualifiedDaoImplementationName has no post constraints
this.__fullyQualifiedDaoImplementationName17a = fullyQualifiedDaoImplementationName17a;
if (isMetafacadePropertyCachingEnabled())
{
this.__fullyQualifiedDaoImplementationName17aSet = true;
}
}
return fullyQualifiedDaoImplementationName17a;
}
/**
* @see SpringEntity#getFullyQualifiedDaoName()
* @return String
*/
protected abstract String handleGetFullyQualifiedDaoName();
private String __fullyQualifiedDaoName18a;
private boolean __fullyQualifiedDaoName18aSet = false;
/**
* The fully qualified name of the DAO.
* @return (String)handleGetFullyQualifiedDaoName()
*/
public final String getFullyQualifiedDaoName()
{
String fullyQualifiedDaoName18a = this.__fullyQualifiedDaoName18a;
if (!this.__fullyQualifiedDaoName18aSet)
{
// fullyQualifiedDaoName has no pre constraints
fullyQualifiedDaoName18a = handleGetFullyQualifiedDaoName();
// fullyQualifiedDaoName has no post constraints
this.__fullyQualifiedDaoName18a = fullyQualifiedDaoName18a;
if (isMetafacadePropertyCachingEnabled())
{
this.__fullyQualifiedDaoName18aSet = true;
}
}
return fullyQualifiedDaoName18a;
}
/**
* @see SpringEntity#isRequiresHibernateMapping()
* @return boolean
*/
protected abstract boolean handleIsRequiresHibernateMapping();
private boolean __requiresHibernateMapping19a;
private boolean __requiresHibernateMapping19aSet = false;
/**
* Indicates whether or not this entity requires a Hibernate mapping cfg.xml file within the
* Spring application context.
* @return (boolean)handleIsRequiresHibernateMapping()
*/
public final boolean isRequiresHibernateMapping()
{
boolean requiresHibernateMapping19a = this.__requiresHibernateMapping19a;
if (!this.__requiresHibernateMapping19aSet)
{
// requiresHibernateMapping has no pre constraints
requiresHibernateMapping19a = handleIsRequiresHibernateMapping();
// requiresHibernateMapping has no post constraints
this.__requiresHibernateMapping19a = requiresHibernateMapping19a;
if (isMetafacadePropertyCachingEnabled())
{
this.__requiresHibernateMapping19aSet = true;
}
}
return requiresHibernateMapping19a;
}
/**
* @see SpringEntity#getAttributeEmbeddedValueList()
* @return String
*/
protected abstract String handleGetAttributeEmbeddedValueList();
private String __attributeEmbeddedValueList20a;
private boolean __attributeEmbeddedValueList20aSet = false;
/**
* A quoted comma separated list of the names of embedded values belonging to this entity (that
* represented as attributes)
* @return (String)handleGetAttributeEmbeddedValueList()
*/
public final String getAttributeEmbeddedValueList()
{
String attributeEmbeddedValueList20a = this.__attributeEmbeddedValueList20a;
if (!this.__attributeEmbeddedValueList20aSet)
{
// attributeEmbeddedValueList has no pre constraints
attributeEmbeddedValueList20a = handleGetAttributeEmbeddedValueList();
// attributeEmbeddedValueList has no post constraints
this.__attributeEmbeddedValueList20a = attributeEmbeddedValueList20a;
if (isMetafacadePropertyCachingEnabled())
{
this.__attributeEmbeddedValueList20aSet = true;
}
}
return attributeEmbeddedValueList20a;
}
/**
* @see SpringEntity#isRichClient()
* @return boolean
*/
protected abstract boolean handleIsRichClient();
private boolean __richClient21a;
private boolean __richClient21aSet = false;
/**
* Returns true if this entity is meant to be used in a richt client application.
* @return (boolean)handleIsRichClient()
*/
public final boolean isRichClient()
{
boolean richClient21a = this.__richClient21a;
if (!this.__richClient21aSet)
{
// richClient has no pre constraints
richClient21a = handleIsRichClient();
// richClient has no post constraints
this.__richClient21a = richClient21a;
if (isMetafacadePropertyCachingEnabled())
{
this.__richClient21aSet = true;
}
}
return richClient21a;
}
// ---------------- business methods ----------------------
/**
* Method to be implemented in descendants
* Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to
* true.
* @param targetSuffix
* @return String
*/
protected abstract String handleGetBeanName(boolean targetSuffix);
/**
* Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to
* true.
* @param targetSuffix boolean
* Whether or not to add a target suffix to the bean name.
* @return handleGetBeanName(targetSuffix)
*/
public String getBeanName(boolean targetSuffix)
{
// getBeanName has no pre constraints
String returnValue = handleGetBeanName(targetSuffix);
// getBeanName has no post constraints
return returnValue;
}
// ------------- associations ------------------
/**
* Represents a Spring persistent entity
* @return (Collection<ClassifierFacade>)handleGetAllValueObjectReferences()
*/
public final Collection<ClassifierFacade> getAllValueObjectReferences()
{
Collection<ClassifierFacade> getAllValueObjectReferences1r = null;
// springEntity has no pre constraints
Collection result = handleGetAllValueObjectReferences();
List shieldedResult = this.shieldedElements(result);
try
{
getAllValueObjectReferences1r = (Collection<ClassifierFacade>)shieldedResult;
}
catch (ClassCastException ex)
{
// Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getAllValueObjectReferences Collection<ClassifierFacade> " + result + ": " + shieldedResult);
}
// springEntity has no post constraints
return getAllValueObjectReferences1r;
}
/**
* UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
* @return Collection
*/
protected abstract Collection handleGetAllValueObjectReferences();
private Collection<SpringEntityOperation> __getDaoBusinessOperations2r;
private boolean __getDaoBusinessOperations2rSet = false;
/**
* Represents a Spring persistent entity
* @return (Collection<SpringEntityOperation>)handleGetDaoBusinessOperations()
*/
public final Collection<SpringEntityOperation> getDaoBusinessOperations()
{
Collection<SpringEntityOperation> getDaoBusinessOperations2r = this.__getDaoBusinessOperations2r;
if (!this.__getDaoBusinessOperations2rSet)
{
// springEntity has no pre constraints
Collection result = handleGetDaoBusinessOperations();
List shieldedResult = this.shieldedElements(result);
try
{
getDaoBusinessOperations2r = (Collection<SpringEntityOperation>)shieldedResult;
}
catch (ClassCastException ex)
{
// Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getDaoBusinessOperations Collection<SpringEntityOperation> " + result + ": " + shieldedResult);
}
// springEntity has no post constraints
this.__getDaoBusinessOperations2r = getDaoBusinessOperations2r;
if (isMetafacadePropertyCachingEnabled())
{
this.__getDaoBusinessOperations2rSet = true;
}
}
return getDaoBusinessOperations2r;
}
/**
* UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
* @return Collection
*/
protected abstract Collection handleGetDaoBusinessOperations();
private SpringEntity __getRoot3r;
private boolean __getRoot3rSet = false;
/**
* Represents a Spring persistent entity
* @return (SpringEntity)handleGetRoot()
*/
public final SpringEntity getRoot()
{
SpringEntity getRoot3r = this.__getRoot3r;
if (!this.__getRoot3rSet)
{
// springEntity has no pre constraints
Object result = handleGetRoot();
MetafacadeBase shieldedResult = this.shieldedElement(result);
try
{
getRoot3r = (SpringEntity)shieldedResult;
}
catch (ClassCastException ex)
{
// Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getRoot SpringEntity " + result + ": " + shieldedResult);
}
// springEntity has no post constraints
this.__getRoot3r = getRoot3r;
if (isMetafacadePropertyCachingEnabled())
{
this.__getRoot3rSet = true;
}
}
return getRoot3r;
}
/**
* UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type
* @return Object
*/
protected abstract Object handleGetRoot();
/**
* Represents a Spring persistent entity
* @return (Collection<ClassifierFacade>)handleGetValueObjectReferences()
*/
public final Collection<ClassifierFacade> getValueObjectReferences()
{
Collection<ClassifierFacade> getValueObjectReferences4r = null;
// springEntity has no pre constraints
Collection result = handleGetValueObjectReferences();
List shieldedResult = this.shieldedElements(result);
try
{
getValueObjectReferences4r = (Collection<ClassifierFacade>)shieldedResult;
}
catch (ClassCastException ex)
{
// Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getValueObjectReferences Collection<ClassifierFacade> " + result + ": " + shieldedResult);
}
// springEntity has no post constraints
return getValueObjectReferences4r;
}
/**
* UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
* @return Collection
*/
protected abstract Collection handleGetValueObjectReferences();
/**
* @return true
* @see Entity
*/
public boolean isEntityMetaType()
{
return true;
}
/**
* @return true
* @see ClassifierFacade
*/
public boolean isClassifierFacadeMetaType()
{
return true;
}
/**
* @return true
* @see GeneralizableElementFacade
*/
public boolean isGeneralizableElementFacadeMetaType()
{
return true;
}
/**
* @return true
* @see ModelElementFacade
*/
public boolean isModelElementFacadeMetaType()
{
return true;
}
// ----------- delegates to Entity ------------
/**
* Return the attribute which name matches the parameter
* @see ClassifierFacade#findAttribute(String name)
*/
public AttributeFacade findAttribute(String name)
{
return this.getSuperEntity().findAttribute(name);
}
/**
* Those abstraction dependencies for which this classifier is the client.
* @see ClassifierFacade#getAbstractions()
*/
public Collection<ClassifierFacade> getAbstractions()
{
return this.getSuperEntity().getAbstractions();
}
/**
* Lists all classes associated to this one and any ancestor classes (through generalization).
* There will be no duplicates. The order of the elements is predictable.
* @see ClassifierFacade#getAllAssociatedClasses()
*/
public Collection<ClassifierFacade> getAllAssociatedClasses()
{
return this.getSuperEntity().getAllAssociatedClasses();
}
/**
* A collection containing all 'properties' of the classifier and its ancestors. Properties are
* any attributes and navigable connecting association ends.
* @see ClassifierFacade#getAllProperties()
*/
public Collection<ModelElementFacade> getAllProperties()
{
return this.getSuperEntity().getAllProperties();
}
/**
* A collection containing all required and/or read-only 'properties' of the classifier and its
* ancestors. Properties are any attributes and navigable connecting association ends.
* @see ClassifierFacade#getAllRequiredConstructorParameters()
*/
public Collection<ModelElementFacade> getAllRequiredConstructorParameters()
{
return this.getSuperEntity().getAllRequiredConstructorParameters();
}
/**
* Gets the array type for this classifier. If this classifier already represents an array, it
* just returns itself.
* @see ClassifierFacade#getArray()
*/
public ClassifierFacade getArray()
{
return this.getSuperEntity().getArray();
}
/**
* The name of the classifier as an array.
* @see ClassifierFacade#getArrayName()
*/
public String getArrayName()
{
return this.getSuperEntity().getArrayName();
}
/**
* Lists the classes associated to this one, there is no repitition of classes. The order of the
* elements is predictable.
* @see ClassifierFacade#getAssociatedClasses()
*/
public Collection<ClassifierFacade> getAssociatedClasses()
{
return this.getSuperEntity().getAssociatedClasses();
}
/**
* Gets the association ends belonging to a classifier.
* @see ClassifierFacade#getAssociationEnds()
*/
public List<AssociationEndFacade> getAssociationEnds()
{
return this.getSuperEntity().getAssociationEnds();
}
/**
* Gets the attributes that belong to the classifier.
* @see ClassifierFacade#getAttributes()
*/
public List<AttributeFacade> getAttributes()
{
return this.getSuperEntity().getAttributes();
}
/**
* Gets all attributes for the classifier and if 'follow' is true goes up the inheritance
* hierarchy and gets the attributes from the super classes as well.
* @see ClassifierFacade#getAttributes(boolean follow)
*/
public List<AttributeFacade> getAttributes(boolean follow)
{
return this.getSuperEntity().getAttributes(follow);
}
/**
* The fully qualified name of the classifier as an array.
* @see ClassifierFacade#getFullyQualifiedArrayName()
*/
public String getFullyQualifiedArrayName()
{
return this.getSuperEntity().getFullyQualifiedArrayName();
}
/**
* Returns all those operations that could be implemented at this classifier's level. This means
* the operations owned by this classifier as well as any realized interface's operations
* (recursively) in case this classifier itself is not already an interface, or generalized when
* this classifier is an interface.
* @see ClassifierFacade#getImplementationOperations()
*/
public Collection<OperationFacade> getImplementationOperations()
{
return this.getSuperEntity().getImplementationOperations();
}
/**
* A comma separated list of the fully qualified names of all implemented interfaces.
* @see ClassifierFacade#getImplementedInterfaceList()
*/
public String getImplementedInterfaceList()
{
return this.getSuperEntity().getImplementedInterfaceList();
}
/**
* Those attributes that are scoped to an instance of this class.
* @see ClassifierFacade#getInstanceAttributes()
*/
public Collection<AttributeFacade> getInstanceAttributes()
{
return this.getSuperEntity().getInstanceAttributes();
}
/**
* Those operations that are scoped to an instance of this class.
* @see ClassifierFacade#getInstanceOperations()
*/
public List<OperationFacade> getInstanceOperations()
{
return this.getSuperEntity().getInstanceOperations();
}
/**
* Those interfaces that are abstractions of this classifier, this basically means this
* classifier realizes them.
* @see ClassifierFacade#getInterfaceAbstractions()
*/
public Collection<ClassifierFacade> getInterfaceAbstractions()
{
return this.getSuperEntity().getInterfaceAbstractions();
}
/**
* A String representing a new Constructor declaration for this classifier type to be used in a
* Java environment.
* @see ClassifierFacade#getJavaNewString()
*/
public String getJavaNewString()
{
return this.getSuperEntity().getJavaNewString();
}
/**
* A String representing the null-value for this classifier type to be used in a Java
* environment.
* @see ClassifierFacade#getJavaNullString()
*/
public String getJavaNullString()
{
return this.getSuperEntity().getJavaNullString();
}
/**
* The other ends of this classifier's association ends which are navigable.
* @see ClassifierFacade#getNavigableConnectingEnds()
*/
public Collection<AssociationEndFacade> getNavigableConnectingEnds()
{
return this.getSuperEntity().getNavigableConnectingEnds();
}
/**
* Get the other ends of this classifier's association ends which are navigable and if 'follow'
* is true goes up the inheritance hierarchy and gets the super association ends as well.
* @see ClassifierFacade#getNavigableConnectingEnds(boolean follow)
*/
public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow)
{
return this.getSuperEntity().getNavigableConnectingEnds(follow);
}
/**
* Assuming that the classifier is an array, this will return the non array type of the
* classifier from
* the model. If the classifier is NOT an array, it will just return itself.
* @see ClassifierFacade#getNonArray()
*/
public ClassifierFacade getNonArray()
{
return this.getSuperEntity().getNonArray();
}
/**
* The attributes from this classifier in the form of an operation call (this example would be
* in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the
* classifier, the result would be an empty '()'.
* @see ClassifierFacade#getOperationCallFromAttributes()
*/
public String getOperationCallFromAttributes()
{
return this.getSuperEntity().getOperationCallFromAttributes();
}
/**
* The operations owned by this classifier.
* @see ClassifierFacade#getOperations()
*/
public List<OperationFacade> getOperations()
{
return this.getSuperEntity().getOperations();
}
/**
* A collection containing all 'properties' of the classifier. Properties are any attributes
* and navigable connecting association ends.
* @see ClassifierFacade#getProperties()
*/
public List<ModelElementFacade> getProperties()
{
return this.getSuperEntity().getProperties();
}
/**
* Gets all properties (attributes and navigable association ends) for the classifier and if
* 'follow' is true goes up the inheritance hierarchy and gets the properties from the super
* classes as well.
* @see ClassifierFacade#getProperties(boolean follow)
*/
public List getProperties(boolean follow)
{
return this.getSuperEntity().getProperties(follow);
}
/**
* A collection containing all required and/or read-only 'properties' of the classifier.
* Properties are any attributes and navigable connecting association ends.
* @see ClassifierFacade#getRequiredConstructorParameters()
*/
public Collection<ModelElementFacade> getRequiredConstructorParameters()
{
return this.getSuperEntity().getRequiredConstructorParameters();
}
/**
* Returns the serial version UID of the underlying model element.
* @see ClassifierFacade#getSerialVersionUID()
*/
public long getSerialVersionUID()
{
return this.getSuperEntity().getSerialVersionUID();
}
/**
* Those attributes that are scoped to the definition of this class.
* @see ClassifierFacade#getStaticAttributes()
*/
public Collection<AttributeFacade> getStaticAttributes()
{
return this.getSuperEntity().getStaticAttributes();
}
/**
* Those operations that are scoped to the definition of this class.
* @see ClassifierFacade#getStaticOperations()
*/
public List<OperationFacade> getStaticOperations()
{
return this.getSuperEntity().getStaticOperations();
}
/**
* This class' superclass, returns the generalization if it is a ClassifierFacade, null
* otherwise.
* @see ClassifierFacade#getSuperClass()
*/
public ClassifierFacade getSuperClass()
{
return this.getSuperEntity().getSuperClass();
}
/**
* The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long'
* maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will
* return a null. Note that wrapper mappings must be defined for the namespace by defining the
* 'wrapperMappingsUri', this property must point to the location of the mappings file which
* maps the primitives to wrapper types.
* @see ClassifierFacade#getWrapperName()
*/
public String getWrapperName()
{
return this.getSuperEntity().getWrapperName();
}
/**
* Indicates if this classifier is 'abstract'.
* @see ClassifierFacade#isAbstract()
*/
public boolean isAbstract()
{
return this.getSuperEntity().isAbstract();
}
/**
* True if this classifier represents an array type. False otherwise.
* @see ClassifierFacade#isArrayType()
*/
public boolean isArrayType()
{
return this.getSuperEntity().isArrayType();
}
/**
* True if the ClassifierFacade is an AssociationClass.
* @see ClassifierFacade#isAssociationClass()
*/
public boolean isAssociationClass()
{
return this.getSuperEntity().isAssociationClass();
}
/**
* Returns true if this type represents a Blob type.
* @see ClassifierFacade#isBlobType()
*/
public boolean isBlobType()
{
return this.getSuperEntity().isBlobType();
}
/**
* Indicates if this type represents a boolean type or not.
* @see ClassifierFacade#isBooleanType()
*/
public boolean isBooleanType()
{
return this.getSuperEntity().isBooleanType();
}
/**
* Indicates if this type represents a char, Character, or java.lang.Character type or not.
* @see ClassifierFacade#isCharacterType()
*/
public boolean isCharacterType()
{
return this.getSuperEntity().isCharacterType();
}
/**
* Returns true if this type represents a Clob type.
* @see ClassifierFacade#isClobType()
*/
public boolean isClobType()
{
return this.getSuperEntity().isClobType();
}
/**
* True if this classifier represents a collection type. False otherwise.
* @see ClassifierFacade#isCollectionType()
*/
public boolean isCollectionType()
{
return this.getSuperEntity().isCollectionType();
}
/**
* True/false depending on whether or not this classifier represents a datatype. A data type is
* a type whose instances are identified only by their value. A data type may contain attributes
* to support the modeling of structured data types.
* @see ClassifierFacade#isDataType()
*/
public boolean isDataType()
{
return this.getSuperEntity().isDataType();
}
/**
* True when this classifier is a date type.
* @see ClassifierFacade#isDateType()
*/
public boolean isDateType()
{
return this.getSuperEntity().isDateType();
}
/**
* Indicates if this type represents a Double type or not.
* @see ClassifierFacade#isDoubleType()
*/
public boolean isDoubleType()
{
return this.getSuperEntity().isDoubleType();
}
/**
* Indicates whether or not this classifier represents an "EmbeddedValue'.
* @see ClassifierFacade#isEmbeddedValue()
*/
public boolean isEmbeddedValue()
{
return this.getSuperEntity().isEmbeddedValue();
}
/**
* True if this classifier is in fact marked as an enumeration.
* @see ClassifierFacade#isEnumeration()
*/
public boolean isEnumeration()
{
return this.getSuperEntity().isEnumeration();
}
/**
* Returns true if this type represents a 'file' type.
* @see ClassifierFacade#isFileType()
*/
public boolean isFileType()
{
return this.getSuperEntity().isFileType();
}
/**
* Indicates if this type represents a Float type or not.
* @see ClassifierFacade#isFloatType()
*/
public boolean isFloatType()
{
return this.getSuperEntity().isFloatType();
}
/**
* Indicates if this type represents an int or Integer or java.lang.Integer type or not.
* @see ClassifierFacade#isIntegerType()
*/
public boolean isIntegerType()
{
return this.getSuperEntity().isIntegerType();
}
/**
* True/false depending on whether or not this Classifier represents an interface.
* @see ClassifierFacade#isInterface()
*/
public boolean isInterface()
{
return this.getSuperEntity().isInterface();
}
/**
* True if this classifier cannot be extended and represent a leaf in the inheritance tree.
* @see ClassifierFacade#isLeaf()
*/
public boolean isLeaf()
{
return this.getSuperEntity().isLeaf();
}
/**
* True if this classifier represents a list type. False otherwise.
* @see ClassifierFacade#isListType()
*/
public boolean isListType()
{
return this.getSuperEntity().isListType();
}
/**
* Indicates if this type represents a Long type or not.
* @see ClassifierFacade#isLongType()
*/
public boolean isLongType()
{
return this.getSuperEntity().isLongType();
}
/**
* Indicates whether or not this classifier represents a Map type.
* @see ClassifierFacade#isMapType()
*/
public boolean isMapType()
{
return this.getSuperEntity().isMapType();
}
/**
* Indicates whether or not this classifier represents a primitive type.
* @see ClassifierFacade#isPrimitive()
*/
public boolean isPrimitive()
{
return this.getSuperEntity().isPrimitive();
}
/**
* True if this classifier represents a set type. False otherwise.
* @see ClassifierFacade#isSetType()
*/
public boolean isSetType()
{
return this.getSuperEntity().isSetType();
}
/**
* Indicates whether or not this classifier represents a string type.
* @see ClassifierFacade#isStringType()
*/
public boolean isStringType()
{
return this.getSuperEntity().isStringType();
}
/**
* Indicates whether or not this classifier represents a time type.
* @see ClassifierFacade#isTimeType()
*/
public boolean isTimeType()
{
return this.getSuperEntity().isTimeType();
}
/**
* Returns true if this type is a wrapped primitive type.
* @see ClassifierFacade#isWrappedPrimitive()
*/
public boolean isWrappedPrimitive()
{
return this.getSuperEntity().isWrappedPrimitive();
}
/**
* Returns a collection of all entities this entity and its ancestors have a relation to.
* @see Entity#getAllEntityReferences()
*/
public Collection<DependencyFacade> getAllEntityReferences()
{
return this.getSuperEntity().getAllEntityReferences();
}
/**
* Gets a comma separated list of attribute names. If 'follow' is true, will travel up the
* inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers'
* is true, will include identifiers.
* @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers)
*/
public String getAttributeNameList(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers);
}
/**
* Gets a comma separated list of attribute names. If 'follow' is true, will travel up the
* inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers'
* is true, will include identifiers and if 'withDerived' is set to true, will include derived
* attributes.
* @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
*/
public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
{
return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers, withDerived);
}
/**
* Gets a comma separated list of attribute types. If 'follow' is true, will travel up the
* inheritance hierarchy to include attributes in parent entities as well. If 'withIdentifiers'
* is true, will include identifiers.
* @see Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers)
*/
public String getAttributeTypeList(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getAttributeTypeList(follow, withIdentifiers);
}
/**
* Gets all attributes of the entity, and optionally retieves the super entities attributes as
* well as excludes the entity's identifiers if 'withIdentifiers' is set to false.
* @see Entity#getAttributes(boolean follow, boolean withIdentifiers)
*/
public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getAttributes(follow, withIdentifiers);
}
/**
* Gets all attributes of the entity, and optionally retieves the super entities attributes as
* well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude
* derived attributes if 'withDerived' is set to false.
* @see Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
*/
public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
{
return this.getSuperEntity().getAttributes(follow, withIdentifiers, withDerived);
}
/**
* All business operations of the entity, these include any operations that aren't queries.
* @see Entity#getBusinessOperations()
*/
public Collection<OperationFacade> getBusinessOperations()
{
return this.getSuperEntity().getBusinessOperations();
}
/**
* Gets any children association ends (i.e. entity association ends that are participants in an
* association with this entity and this entity has composite aggregation defined for those
* associations).
* @see Entity#getChildEnds()
*/
public Collection<EntityAssociationEnd> getChildEnds()
{
return this.getSuperEntity().getChildEnds();
}
/**
* The embedded values belonging to this entity.
* @see Entity#getEmbeddedValues()
*/
public Collection<AttributeFacade> getEmbeddedValues()
{
return this.getSuperEntity().getEmbeddedValues();
}
/**
* All entities referenced by this entity.
* @see Entity#getEntityReferences()
*/
public Collection<DependencyFacade> getEntityReferences()
{
return this.getSuperEntity().getEntityReferences();
}
/**
* The full name of the type of the identifier. If composite identifier add the PK sufix to the
* class name. If not, retorns the fully qualified name of the identifier.
* @see Entity#getFullyQualifiedIdentifierTypeName()
*/
public String getFullyQualifiedIdentifierTypeName()
{
return this.getSuperEntity().getFullyQualifiedIdentifierTypeName();
}
/**
* Gets all the associationEnds of this entity marked with the identifiers stereotype.
* @see Entity#getIdentifierAssociationEnds()
*/
public Collection<AssociationEndFacade> getIdentifierAssociationEnds()
{
return this.getSuperEntity().getIdentifierAssociationEnds();
}
/**
* The getter name of the identifier.
* @see Entity#getIdentifierGetterName()
*/
public String getIdentifierGetterName()
{
return this.getSuperEntity().getIdentifierGetterName();
}
/**
* The name of the identifier. If composite identifier add the Pk suffix. If not composite
* returns the attribute name of the identifier.
* @see Entity#getIdentifierName()
*/
public String getIdentifierName()
{
return this.getSuperEntity().getIdentifierName();
}
/**
* The setter name of the identifier.
* @see Entity#getIdentifierSetterName()
*/
public String getIdentifierSetterName()
{
return this.getSuperEntity().getIdentifierSetterName();
}
/**
* The name of the type of the identifier. If composite identifier add the PK suffix to the
* class name. If not, returns the name of the identifier.
* @see Entity#getIdentifierTypeName()
*/
public String getIdentifierTypeName()
{
return this.getSuperEntity().getIdentifierTypeName();
}
/**
* All the attributes of the entity which make up its identifier (primary key). Will search any
* super classes as well. If no identifiers exist, a default identifier will be created if the
* allowDefaultIdentifiers property is set to true.
* @see Entity#getIdentifiers()
*/
public Collection<ModelElementFacade> getIdentifiers()
{
return this.getSuperEntity().getIdentifiers();
}
/**
* Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found
* on the entity, a search up the inheritance chain will be performed, and the identifiers from
* the first super class having them will be used. If no identifiers exist, a default
* identifier will be created if the allowDefaultIdentifiers property is set to true.
* Identifiers can be on attributes or associations (composite primary key).
* @see Entity#getIdentifiers(boolean follow)
*/
public Collection<ModelElementFacade> getIdentifiers(boolean follow)
{
return this.getSuperEntity().getIdentifiers(follow);
}
/**
* The maximum length a SQL name may be.
* @see Entity#getMaxSqlNameLength()
*/
public short getMaxSqlNameLength()
{
return this.getSuperEntity().getMaxSqlNameLength();
}
/**
* Gets the attributes as a list within an operation call, optionally including the type names
* and the identifier attributes.
* @see Entity#getOperationCallFromAttributes(boolean withIdentifiers)
*/
public String getOperationCallFromAttributes(boolean withIdentifiers)
{
return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers);
}
/**
* Gets the attributes as a list within an operation call. If 'withTypeNames' is true, it will
* include the type names, if 'withIdentifiers' is true it will include the identifiers. If
* 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super
* class as well.
* @see Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
*/
public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
{
return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers, follow);
}
/**
* Returns the parent association end of this entity if its a child entity. The parent is the
* entity that is the participant the association that has composite aggregation defined. Will
* return null if the entity has no parent.
* @see Entity#getParentEnd()
*/
public EntityAssociationEnd getParentEnd()
{
return this.getSuperEntity().getParentEnd();
}
/**
* Gets all properties of this entity, this includes the attributes and navigable association
* ends of the entity. The 'follow' flag indcates whether or not the inheritance hierarchy
* should be followed when getting all the properties. The 'withIdentifiers' flag indicates
* whether or not identifiers should be included in the collection of properties.
* @see Entity#getProperties(boolean follow, boolean withIdentifiers)
*/
public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getProperties(follow, withIdentifiers);
}
/**
* Returns all the operations that can perform queries on the entity.
* @see Entity#getQueryOperations()
*/
public Collection<EntityQueryOperation> getQueryOperations()
{
return this.getSuperEntity().getQueryOperations();
}
/**
* Gets all query operations for an entity. If 'follow' is true, and if no query operations can
* be found on the entity, a search up the inheritance chain will be performed, and the
* identifiers from the first super class having them will be used. If no identifiers exist, a
* default identifier will be created if the allowDefaultIdentifiers property is set to true.
* @see Entity#getQueryOperations(boolean follow)
*/
public Collection<OperationFacade> getQueryOperations(boolean follow)
{
return this.getSuperEntity().getQueryOperations(follow);
}
/**
* Gets a comma separated list of required attribute names. If 'follow' is true, will travel up
* the inheritance hierarchy to include attributes in parent entities as well. If
* 'withIdentifiers' is true, will include identifiers.
* @see Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
*/
public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getRequiredAttributeNameList(follow, withIdentifiers);
}
/**
* Gets a comma separated list of attribute types with are required. If 'follow' is true, will
* travel up the inheritance hierarchy to include attributes in parent entities as well. If
* 'withIdentifiers' is true, will include identifiers.
* @see Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
*/
public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getRequiredAttributeTypeList(follow, withIdentifiers);
}
/**
* Returns all attributes that are specified as 'required' in the model. If 'follow' is true,
* then required attributes in super classes will also be returned, if false, just the ones
* directly on the entity will be returned. If 'withIdentifiers' is true, the identifiers will
* be include, if false, no identifiers will be included.
* @see Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers)
*/
public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getRequiredAttributes(follow, withIdentifiers);
}
/**
* Gets all required properties for this entity. These consist of any required attributes as
* well as navigable associations that are marked as 'required'. If 'follow' is true, then the
* inheritance hierchy will be followed and all required properties from super classes will be
* included as well.
* If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will
* be included.
* @see Entity#getRequiredProperties(boolean follow, boolean withIdentifiers)
*/
public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getRequiredProperties(follow, withIdentifiers);
}
/**
* Creates a comma separated list of the required property names.
* @see Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
*/
public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getRequiredPropertyNameList(follow, withIdentifiers);
}
/**
* A comma separated list of the required property types.
* @see Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
*/
public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
{
return this.getSuperEntity().getRequiredPropertyTypeList(follow, withIdentifiers);
}
/**
* The name of the schema that contains the database table
* @see Entity#getSchema()
*/
public String getSchema()
{
return this.getSuperEntity().getSchema();
}
/**
* The name of the database table to which this entity is persisted.
* @see Entity#getTableName()
*/
public String getTableName()
{
return this.getSuperEntity().getTableName();
}
/**
* Returns true/false depending on whether or not this entity represetns a child in an
* association (this occurs when this entity is on the opposite end of an assocation end defined
* as composite).
* @see Entity#isChild()
*/
public boolean isChild()
{
return this.getSuperEntity().isChild();
}
/**
* True if this entity identifier is a composite (consists of multiple key columns, typically
* abstracted into an external composite identifier class)
* @see Entity#isCompositeIdentifier()
*/
public boolean isCompositeIdentifier()
{
return this.getSuperEntity().isCompositeIdentifier();
}
/**
* True if the entity has its identifiers dynamically added, false otherwise.
* @see Entity#isDynamicIdentifiersPresent()
*/
public boolean isDynamicIdentifiersPresent()
{
return this.getSuperEntity().isDynamicIdentifiersPresent();
}
/**
* True if the entity has any identifiers defined, false otherwise.
* @see Entity#isIdentifiersPresent()
*/
public boolean isIdentifiersPresent()
{
return this.getSuperEntity().isIdentifiersPresent();
}
/**
* Indiciates if this entity is using an assigned identifier or not.
* @see Entity#isUsingAssignedIdentifier()
*/
public boolean isUsingAssignedIdentifier()
{
return this.getSuperEntity().isUsingAssignedIdentifier();
}
/**
* Indicates whether or not this entity is using a foreign identifier as its identifiers. That
* is: the foreignIdentifier flag was set on an incoming association end and the entity is
* therefore using the related foreign parent entity's identifier.
* @see Entity#isUsingForeignIdentifier()
*/
public boolean isUsingForeignIdentifier()
{
return this.getSuperEntity().isUsingForeignIdentifier();
}
/**
* Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set
* to true.
* @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow)
*/
public Object findTaggedValue(String tagName, boolean follow)
{
return this.getSuperEntity().findTaggedValue(tagName, follow);
}
/**
* All generalizations for this generalizable element, goes up the inheritance tree.
* @see GeneralizableElementFacade#getAllGeneralizations()
*/
public Collection<GeneralizableElementFacade> getAllGeneralizations()
{
return this.getSuperEntity().getAllGeneralizations();
}
/**
* All specializations (travels down the inheritance hierarchy).
* @see GeneralizableElementFacade#getAllSpecializations()
*/
public Collection<GeneralizableElementFacade> getAllSpecializations()
{
return this.getSuperEntity().getAllSpecializations();
}
/**
* Gets the direct generalization for this generalizable element.
* @see GeneralizableElementFacade#getGeneralization()
*/
public GeneralizableElementFacade getGeneralization()
{
return this.getSuperEntity().getGeneralization();
}
/**
* Gets the actual links that this generalization element is part of (it plays either the
* specialization or generalization).
* @see GeneralizableElementFacade#getGeneralizationLinks()
*/
public Collection<GeneralizationFacade> getGeneralizationLinks()
{
return this.getSuperEntity().getGeneralizationLinks();
}
/**
* A comma separated list of the fully qualified names of all generalizations.
* @see GeneralizableElementFacade#getGeneralizationList()
*/
public String getGeneralizationList()
{
return this.getSuperEntity().getGeneralizationList();
}
/**
* The element found when you recursively follow the generalization path up to the root. If an
* element has no generalization itself will be considered the root.
* @see GeneralizableElementFacade#getGeneralizationRoot()
*/
public GeneralizableElementFacade getGeneralizationRoot()
{
return this.getSuperEntity().getGeneralizationRoot();
}
/**
* Return all generalizations (ancestors) from this generalizable element.
* @see GeneralizableElementFacade#getGeneralizations()
*/
public Collection<GeneralizableElementFacade> getGeneralizations()
{
return this.getSuperEntity().getGeneralizations();
}
/**
* Gets the direct specializations (i.e. sub elements) for this generalizatble element.
* @see GeneralizableElementFacade#getSpecializations()
*/
public Collection<GeneralizableElementFacade> getSpecializations()
{
return this.getSuperEntity().getSpecializations();
}
/**
* Copies all tagged values from the given ModelElementFacade to this model element facade.
* @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
*/
public void copyTaggedValues(ModelElementFacade element)
{
this.getSuperEntity().copyTaggedValues(element);
}
/**
* Finds the tagged value with the specified 'tagName'. In case there are more values the first
* one found will be returned.
* @see ModelElementFacade#findTaggedValue(String tagName)
*/
public Object findTaggedValue(String tagName)
{
return this.getSuperEntity().findTaggedValue(tagName);
}
/**
* Returns all the values for the tagged value with the specified name. The returned collection
* will contains only String instances, or will be empty. Never null.
* @see ModelElementFacade#findTaggedValues(String tagName)
*/
public Collection<Object> findTaggedValues(String tagName)
{
return this.getSuperEntity().findTaggedValues(tagName);
}
/**
* Returns the fully qualified name of the model element. The fully qualified name includes
* complete package qualified name of the underlying model element. The templates parameter will
* be replaced by the correct one given the binding relation of the parameter to this element.
* @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
*/
public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
{
return this.getSuperEntity().getBindedFullyQualifiedName(bindedElement);
}
/**
* Gets all constraints belonging to the model element.
* @see ModelElementFacade#getConstraints()
*/
public Collection<ConstraintFacade> getConstraints()
{
return this.getSuperEntity().getConstraints();
}
/**
* Returns the constraints of the argument kind that have been placed onto this model. Typical
* kinds are "inv", "pre" and "post". Other kinds are possible.
* @see ModelElementFacade#getConstraints(String kind)
*/
public Collection<ConstraintFacade> getConstraints(String kind)
{
return this.getSuperEntity().getConstraints(kind);
}
/**
* Gets the documentation for the model element, The indent argument is prefixed to each line.
* By default this method wraps lines after 64 characters.
* This method is equivalent to <code>getDocumentation(indent, 64)</code>.
* @see ModelElementFacade#getDocumentation(String indent)
*/
public String getDocumentation(String indent)
{
return this.getSuperEntity().getDocumentation(indent);
}
/**
* This method returns the documentation for this model element, with the lines wrapped after
* the specified number of characters, values of less than 1 will indicate no line wrapping is
* required. By default paragraphs are returned as HTML.
* This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
* @see ModelElementFacade#getDocumentation(String indent, int lineLength)
*/
public String getDocumentation(String indent, int lineLength)
{
return this.getSuperEntity().getDocumentation(indent, lineLength);
}
/**
* This method returns the documentation for this model element, with the lines wrapped after
* the specified number of characters, values of less than 1 will indicate no line wrapping is
* required. HTML style determines if HTML Escaping is applied.
* @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
*/
public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
{
return this.getSuperEntity().getDocumentation(indent, lineLength, htmlStyle);
}
/**
* The fully qualified name of this model element.
* @see ModelElementFacade#getFullyQualifiedName()
*/
public String getFullyQualifiedName()
{
return this.getSuperEntity().getFullyQualifiedName();
}
/**
* Returns the fully qualified name of the model element. The fully qualified name includes
* complete package qualified name of the underlying model element. If modelName is true, then
* the original name of the model element (the name contained within the model) will be the name
* returned, otherwise a name from a language mapping will be returned.
* @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
*/
public String getFullyQualifiedName(boolean modelName)
{
return this.getSuperEntity().getFullyQualifiedName(modelName);
}
/**
* Returns the fully qualified name as a path, the returned value always starts with out a slash
* '/'.
* @see ModelElementFacade#getFullyQualifiedNamePath()
*/
public String getFullyQualifiedNamePath()
{
return this.getSuperEntity().getFullyQualifiedNamePath();
}
/**
* Gets the unique identifier of the underlying model element.
* @see ModelElementFacade#getId()
*/
public String getId()
{
return this.getSuperEntity().getId();
}
/**
* UML2: Retrieves the keywords for this element. Used to modify implementation properties which
* are not represented by other properties, i.e. native, transient, volatile, synchronized,
* (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
* (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
* JDK5 compiler level.
* @see ModelElementFacade#getKeywords()
*/
public Collection<String> getKeywords()
{
return this.getSuperEntity().getKeywords();
}
/**
* UML2: Retrieves a localized label for this named element.
* @see ModelElementFacade#getLabel()
*/
public String getLabel()
{
return this.getSuperEntity().getLabel();
}
/**
* The language mappings that have been set for this model element.
* @see ModelElementFacade#getLanguageMappings()
*/
public TypeMappings getLanguageMappings()
{
return this.getSuperEntity().getLanguageMappings();
}
/**
* Return the model containing this model element (multiple models may be loaded and processed
* at the same time).
* @see ModelElementFacade#getModel()
*/
public ModelFacade getModel()
{
return this.getSuperEntity().getModel();
}
/**
* The name of the model element.
* @see ModelElementFacade#getName()
*/
public String getName()
{
return this.getSuperEntity().getName();
}
/**
* Gets the package to which this model element belongs.
* @see ModelElementFacade#getPackage()
*/
public ModelElementFacade getPackage()
{
return this.getSuperEntity().getPackage();
}
/**
* The name of this model element's package.
* @see ModelElementFacade#getPackageName()
*/
public String getPackageName()
{
return this.getSuperEntity().getPackageName();
}
/**
* Gets the package name (optionally providing the ability to retrieve the model name and not
* the mapped name).
* @see ModelElementFacade#getPackageName(boolean modelName)
*/
public String getPackageName(boolean modelName)
{
return this.getSuperEntity().getPackageName(modelName);
}
/**
* Returns the package as a path, the returned value always starts with out a slash '/'.
* @see ModelElementFacade#getPackagePath()
*/
public String getPackagePath()
{
return this.getSuperEntity().getPackagePath();
}
/**
* UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
* NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
* the names of the containing namespaces starting at the root of the hierarchy and ending with
* the name of the NamedElement itself.
* @see ModelElementFacade#getQualifiedName()
*/
public String getQualifiedName()
{
return this.getSuperEntity().getQualifiedName();
}
/**
* Gets the root package for the model element.
* @see ModelElementFacade#getRootPackage()
*/
public PackageFacade getRootPackage()
{
return this.getSuperEntity().getRootPackage();
}
/**
* Gets the dependencies for which this model element is the source.
* @see ModelElementFacade#getSourceDependencies()
*/
public Collection<DependencyFacade> getSourceDependencies()
{
return this.getSuperEntity().getSourceDependencies();
}
/**
* If this model element is the context of an activity graph, this represents that activity
* graph.
* @see ModelElementFacade#getStateMachineContext()
*/
public StateMachineFacade getStateMachineContext()
{
return this.getSuperEntity().getStateMachineContext();
}
/**
* The collection of ALL stereotype names for this model element.
* @see ModelElementFacade#getStereotypeNames()
*/
public Collection<String> getStereotypeNames()
{
return this.getSuperEntity().getStereotypeNames();
}
/**
* Gets all stereotypes for this model element.
* @see ModelElementFacade#getStereotypes()
*/
public Collection<StereotypeFacade> getStereotypes()
{
return this.getSuperEntity().getStereotypes();
}
/**
* Return the TaggedValues associated with this model element, under all stereotypes.
* @see ModelElementFacade#getTaggedValues()
*/
public Collection<TaggedValueFacade> getTaggedValues()
{
return this.getSuperEntity().getTaggedValues();
}
/**
* Gets the dependencies for which this model element is the target.
* @see ModelElementFacade#getTargetDependencies()
*/
public Collection<DependencyFacade> getTargetDependencies()
{
return this.getSuperEntity().getTargetDependencies();
}
/**
* Get the template parameter for this model element having the parameterName
* @see ModelElementFacade#getTemplateParameter(String parameterName)
*/
public Object getTemplateParameter(String parameterName)
{
return this.getSuperEntity().getTemplateParameter(parameterName);
}
/**
* Get the template parameters for this model element
* @see ModelElementFacade#getTemplateParameters()
*/
public Collection<TemplateParameterFacade> getTemplateParameters()
{
return this.getSuperEntity().getTemplateParameters();
}
/**
* The visibility (i.e. public, private, protected or package) of the model element, will
* attempt a lookup for these values in the language mappings (if any).
* @see ModelElementFacade#getVisibility()
*/
public String getVisibility()
{
return this.getSuperEntity().getVisibility();
}
/**
* Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
* is taken into account when searching for the stereotype), false otherwise.
* @see ModelElementFacade#hasExactStereotype(String stereotypeName)
*/
public boolean hasExactStereotype(String stereotypeName)
{
return this.getSuperEntity().hasExactStereotype(stereotypeName);
}
/**
* Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
* pipe, semicolon, or << >>
* @see ModelElementFacade#hasKeyword(String keywordName)
*/
public boolean hasKeyword(String keywordName)
{
return this.getSuperEntity().hasKeyword(keywordName);
}
/**
* Returns true if the model element has the specified stereotype. If the stereotype itself
* does not match, then a search will be made up the stereotype inheritance hierarchy, and if
* one of the stereotype's ancestors has a matching name this method will return true, false
* otherwise.
* For example, if we have a certain stereotype called <<exception>> and a model element has a
* stereotype called <<applicationException>> which extends <<exception>>, when calling this
* method with 'stereotypeName' defined as 'exception' the method would return true since
* <<applicationException>> inherits from <<exception>>. If you want to check if the model
* element has the exact stereotype, then use the method 'hasExactStereotype' instead.
* @see ModelElementFacade#hasStereotype(String stereotypeName)
*/
public boolean hasStereotype(String stereotypeName)
{
return this.getSuperEntity().hasStereotype(stereotypeName);
}
/**
* True if there are target dependencies from this element that are instances of BindingFacade.
* Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
* @see ModelElementFacade#isBindingDependenciesPresent()
*/
public boolean isBindingDependenciesPresent()
{
return this.getSuperEntity().isBindingDependenciesPresent();
}
/**
* Indicates if any constraints are present on this model element.
* @see ModelElementFacade#isConstraintsPresent()
*/
public boolean isConstraintsPresent()
{
return this.getSuperEntity().isConstraintsPresent();
}
/**
* Indicates if any documentation is present on this model element.
* @see ModelElementFacade#isDocumentationPresent()
*/
public boolean isDocumentationPresent()
{
return this.getSuperEntity().isDocumentationPresent();
}
/**
* True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
* @see ModelElementFacade#isReservedWord()
*/
public boolean isReservedWord()
{
return this.getSuperEntity().isReservedWord();
}
/**
* True is there are template parameters on this model element. For UML2, applies to Class,
* Operation, Property, and Parameter.
* @see ModelElementFacade#isTemplateParametersPresent()
*/
public boolean isTemplateParametersPresent()
{
return this.getSuperEntity().isTemplateParametersPresent();
}
/**
* True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
* JavaScript. Contains no spaces, special characters etc. Constraint always applied on
* Enumerations and Interfaces, optionally applies on other model elements.
* @see ModelElementFacade#isValidIdentifierName()
*/
public boolean isValidIdentifierName()
{
return this.getSuperEntity().isValidIdentifierName();
}
/**
* Searches for the constraint with the specified 'name' on this model element, and if found
* translates it using the specified 'translation' from a translation library discovered by the
* framework.
* @see ModelElementFacade#translateConstraint(String name, String translation)
*/
public String translateConstraint(String name, String translation)
{
return this.getSuperEntity().translateConstraint(name, translation);
}
/**
* Translates all constraints belonging to this model element with the given 'translation'.
* @see ModelElementFacade#translateConstraints(String translation)
*/
public String[] translateConstraints(String translation)
{
return this.getSuperEntity().translateConstraints(translation);
}
/**
* Translates the constraints of the specified 'kind' belonging to this model element.
* @see ModelElementFacade#translateConstraints(String kind, String translation)
*/
public String[] translateConstraints(String kind, String translation)
{
return this.getSuperEntity().translateConstraints(kind, translation);
}
/**
* @see MetafacadeBase#initialize()
*/
@Override
public void initialize()
{
this.getSuperEntity().initialize();
}
/**
* @return Object getSuperEntity().getValidationOwner()
* @see MetafacadeBase#getValidationOwner()
*/
@Override
public Object getValidationOwner()
{
Object owner = this.getSuperEntity().getValidationOwner();
return owner;
}
/**
* @return String getSuperEntity().getValidationName()
* @see MetafacadeBase#getValidationName()
*/
@Override
public String getValidationName()
{
String name = this.getSuperEntity().getValidationName();
return name;
}
/**
* @param validationMessages Collection<ModelValidationMessage>
* @see MetafacadeBase#validateInvariants(Collection validationMessages)
*/
@Override
public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
{
this.getSuperEntity().validateInvariants(validationMessages);
}
/**
* The property that stores the name of the metafacade.
*/
private static final String NAME_PROPERTY = "name";
private static final String FQNAME_PROPERTY = "fullyQualifiedName";
/**
* @see Object#toString()
*/
@Override
public String toString()
{
final StringBuilder toString = new StringBuilder(this.getClass().getName());
toString.append("[");
try
{
toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
}
catch (final Throwable tryAgain)
{
try
{
toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
}
catch (final Throwable ignore)
{
// - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
}
}
toString.append("]");
return toString.toString();
}
}