All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.andromda.metafacades.emf.uml22.EntityLogic Maven / Gradle / Ivy

Go to download

The Eclipse EMF UML2 v2.X metafacades. This is the set of EMF UML2 2.X metafacades implementations. These implement the common UML metafacades for .uml model files.

The newest version!
// license-header java merge-point
//
// Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
//
package org.andromda.metafacades.emf.uml22;

import java.util.Collection;
import java.util.List;
import org.andromda.core.metafacade.MetafacadeBase;
import org.andromda.core.metafacade.ModelValidationMessage;
import org.andromda.metafacades.uml.DependencyFacade;
import org.andromda.metafacades.uml.Entity;
import org.andromda.metafacades.uml.EntityAssociationEnd;
import org.andromda.metafacades.uml.EntityAttribute;
import org.andromda.metafacades.uml.EntityQueryOperation;
import org.andromda.metafacades.uml.OperationFacade;
import org.andromda.translation.ocl.validation.OCLCollections;
import org.andromda.translation.ocl.validation.OCLExpressions;
import org.andromda.translation.ocl.validation.OCLIntrospector;
import org.andromda.translation.ocl.validation.OCLResultEnsurer;
import org.apache.commons.collections.Predicate;
import org.apache.log4j.Logger;
import org.eclipse.uml2.uml.Classifier;

/**
 * 

* Represents a persistent entity. *

* MetafacadeLogic for Entity * * @see Entity */ public abstract class EntityLogic extends ClassifierFacadeLogicImpl implements Entity { /** * The underlying UML object * @see Object */ protected Object metaObject; /** Create Metafacade implementation instance using the MetafacadeFactory from the context * @param metaObjectIn * @param context */ protected EntityLogic(Object metaObjectIn, String context) { super((Classifier)metaObjectIn, getContext(context)); this.metaObject = metaObjectIn; } /** * The logger instance. */ private static final Logger logger = Logger.getLogger(EntityLogic.class); /** * Gets the context for this metafacade logic instance. * @param context String. Set to Entity if null * @return context String */ private static String getContext(String context) { if (context == null) { context = "org.andromda.metafacades.uml.Entity"; } return context; } /** Reset context only for non-root metafacades * @param 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); } } /** * @return boolean true always * @see Entity */ public boolean isEntityMetaType() { return true; } // --------------- attributes --------------------- /** * @see Entity#getTableName() * @return String */ protected abstract String handleGetTableName(); private String __tableName1a; private boolean __tableName1aSet = false; /** *

* The name of the database table to which this entity is * persisted. *

* @return (String)handleGetTableName() */ public final String getTableName() { String tableName1a = this.__tableName1a; if (!this.__tableName1aSet) { // tableName has no pre constraints tableName1a = handleGetTableName(); // tableName has no post constraints this.__tableName1a = tableName1a; if (isMetafacadePropertyCachingEnabled()) { this.__tableName1aSet = true; } } return tableName1a; } /** * @see Entity#isIdentifiersPresent() * @return boolean */ protected abstract boolean handleIsIdentifiersPresent(); /** *

* True if the entity has any identifiers defined, false otherwise. *

* @return (boolean)handleIsIdentifiersPresent() */ public final boolean isIdentifiersPresent() { boolean identifiersPresent2a = false; // identifiersPresent has no pre constraints identifiersPresent2a = handleIsIdentifiersPresent(); // identifiersPresent has no post constraints return identifiersPresent2a; } /** * @see Entity#getMaxSqlNameLength() * @return short */ protected abstract short handleGetMaxSqlNameLength(); private short __maxSqlNameLength3a; private boolean __maxSqlNameLength3aSet = false; /** *

* The maximum length a SQL name may be. *

* @return (short)handleGetMaxSqlNameLength() */ public final short getMaxSqlNameLength() { short maxSqlNameLength3a = this.__maxSqlNameLength3a; if (!this.__maxSqlNameLength3aSet) { // maxSqlNameLength has no pre constraints maxSqlNameLength3a = handleGetMaxSqlNameLength(); // maxSqlNameLength has no post constraints this.__maxSqlNameLength3a = maxSqlNameLength3a; if (isMetafacadePropertyCachingEnabled()) { this.__maxSqlNameLength3aSet = true; } } return maxSqlNameLength3a; } /** * @see Entity#isChild() * @return boolean */ protected abstract boolean handleIsChild(); private boolean __child4a; private boolean __child4aSet = false; /** *

* 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). *

* @return (boolean)handleIsChild() */ public final boolean isChild() { boolean child4a = this.__child4a; if (!this.__child4aSet) { // child has no pre constraints child4a = handleIsChild(); // child has no post constraints this.__child4a = child4a; if (isMetafacadePropertyCachingEnabled()) { this.__child4aSet = true; } } return child4a; } /** * @see Entity#isUsingForeignIdentifier() * @return boolean */ protected abstract boolean handleIsUsingForeignIdentifier(); /** *

* 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. *

* @return (boolean)handleIsUsingForeignIdentifier() */ public final boolean isUsingForeignIdentifier() { boolean usingForeignIdentifier5a = false; // usingForeignIdentifier has no pre constraints usingForeignIdentifier5a = handleIsUsingForeignIdentifier(); // usingForeignIdentifier has no post constraints return usingForeignIdentifier5a; } /** * @see Entity#isDynamicIdentifiersPresent() * @return boolean */ protected abstract boolean handleIsDynamicIdentifiersPresent(); /** *

* True if the entity has its identifiers dynamically added, false * otherwise. *

* @return (boolean)handleIsDynamicIdentifiersPresent() */ public final boolean isDynamicIdentifiersPresent() { boolean dynamicIdentifiersPresent6a = false; // dynamicIdentifiersPresent has no pre constraints dynamicIdentifiersPresent6a = handleIsDynamicIdentifiersPresent(); // dynamicIdentifiersPresent has no post constraints return dynamicIdentifiersPresent6a; } /** * @see Entity#isUsingAssignedIdentifier() * @return boolean */ protected abstract boolean handleIsUsingAssignedIdentifier(); /** *

* Indiciates if this entity is using an assigned identifier or * not. *

* @return (boolean)handleIsUsingAssignedIdentifier() */ public final boolean isUsingAssignedIdentifier() { boolean usingAssignedIdentifier7a = false; // usingAssignedIdentifier has no pre constraints usingAssignedIdentifier7a = handleIsUsingAssignedIdentifier(); // usingAssignedIdentifier has no post constraints return usingAssignedIdentifier7a; } /** * @see Entity#getSchema() * @return String */ protected abstract String handleGetSchema(); private String __schema8a; private boolean __schema8aSet = false; /** *

* The name of the schema that contains the database table *

* @return (String)handleGetSchema() */ public final String getSchema() { String schema8a = this.__schema8a; if (!this.__schema8aSet) { // schema has no pre constraints schema8a = handleGetSchema(); // schema has no post constraints this.__schema8a = schema8a; if (isMetafacadePropertyCachingEnabled()) { this.__schema8aSet = true; } } return schema8a; } /** * @see Entity#isCompositeIdentifier() * @return boolean */ protected abstract boolean handleIsCompositeIdentifier(); /** * * @return (boolean)handleIsCompositeIdentifier() */ public final boolean isCompositeIdentifier() { boolean compositeIdentifier9a = false; // compositeIdentifier has no pre constraints compositeIdentifier9a = handleIsCompositeIdentifier(); // compositeIdentifier has no post constraints return compositeIdentifier9a; } /** * @see Entity#getEmbeddedValues() * @return Collection */ protected abstract Collection handleGetEmbeddedValues(); private Collection __embeddedValues10a; private boolean __embeddedValues10aSet = false; /** *

* The embedded values belonging to this entity. *

* @return (Collection)handleGetEmbeddedValues() */ public final Collection getEmbeddedValues() { Collection embeddedValues10a = this.__embeddedValues10a; if (!this.__embeddedValues10aSet) { // embeddedValues has no pre constraints embeddedValues10a = handleGetEmbeddedValues(); // embeddedValues has no post constraints this.__embeddedValues10a = embeddedValues10a; if (isMetafacadePropertyCachingEnabled()) { this.__embeddedValues10aSet = true; } } return embeddedValues10a; } /** * @see Entity#getIdentifierName() * @return String */ protected abstract String handleGetIdentifierName(); private String __identifierName11a; private boolean __identifierName11aSet = false; /** *

* The name of the identifier. If composite identifier add the Pk * sufix. If not composite returns the atribute name of the * identifier. *

* @return (String)handleGetIdentifierName() */ public final String getIdentifierName() { String identifierName11a = this.__identifierName11a; if (!this.__identifierName11aSet) { // identifierName has no pre constraints identifierName11a = handleGetIdentifierName(); // identifierName has no post constraints this.__identifierName11a = identifierName11a; if (isMetafacadePropertyCachingEnabled()) { this.__identifierName11aSet = true; } } return identifierName11a; } /** * @see Entity#getFullyQualifiedIdentifierTypeName() * @return String */ protected abstract String handleGetFullyQualifiedIdentifierTypeName(); private String __fullyQualifiedIdentifierTypeName12a; private boolean __fullyQualifiedIdentifierTypeName12aSet = false; /** *

* 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. *

* @return (String)handleGetFullyQualifiedIdentifierTypeName() */ public final String getFullyQualifiedIdentifierTypeName() { String fullyQualifiedIdentifierTypeName12a = this.__fullyQualifiedIdentifierTypeName12a; if (!this.__fullyQualifiedIdentifierTypeName12aSet) { // fullyQualifiedIdentifierTypeName has no pre constraints fullyQualifiedIdentifierTypeName12a = handleGetFullyQualifiedIdentifierTypeName(); // fullyQualifiedIdentifierTypeName has no post constraints this.__fullyQualifiedIdentifierTypeName12a = fullyQualifiedIdentifierTypeName12a; if (isMetafacadePropertyCachingEnabled()) { this.__fullyQualifiedIdentifierTypeName12aSet = true; } } return fullyQualifiedIdentifierTypeName12a; } /** * @see Entity#getIdentifierTypeName() * @return String */ protected abstract String handleGetIdentifierTypeName(); private String __identifierTypeName13a; private boolean __identifierTypeName13aSet = false; /** *

* The name of the type of the identifier. If composite identifier * add the PK sufix to the class name. If not, retorns the name of * the identifier. *

* @return (String)handleGetIdentifierTypeName() */ public final String getIdentifierTypeName() { String identifierTypeName13a = this.__identifierTypeName13a; if (!this.__identifierTypeName13aSet) { // identifierTypeName has no pre constraints identifierTypeName13a = handleGetIdentifierTypeName(); // identifierTypeName has no post constraints this.__identifierTypeName13a = identifierTypeName13a; if (isMetafacadePropertyCachingEnabled()) { this.__identifierTypeName13aSet = true; } } return identifierTypeName13a; } /** * @see Entity#getIdentifierGetterName() * @return String */ protected abstract String handleGetIdentifierGetterName(); private String __identifierGetterName14a; private boolean __identifierGetterName14aSet = false; /** *

* The getter name of the identifier. *

* @return (String)handleGetIdentifierGetterName() */ public final String getIdentifierGetterName() { String identifierGetterName14a = this.__identifierGetterName14a; if (!this.__identifierGetterName14aSet) { // identifierGetterName has no pre constraints identifierGetterName14a = handleGetIdentifierGetterName(); // identifierGetterName has no post constraints this.__identifierGetterName14a = identifierGetterName14a; if (isMetafacadePropertyCachingEnabled()) { this.__identifierGetterName14aSet = true; } } return identifierGetterName14a; } /** * @see Entity#getIdentifierSetterName() * @return String */ protected abstract String handleGetIdentifierSetterName(); private String __identifierSetterName15a; private boolean __identifierSetterName15aSet = false; /** *

* The setter name of the identifier. *

* @return (String)handleGetIdentifierSetterName() */ public final String getIdentifierSetterName() { String identifierSetterName15a = this.__identifierSetterName15a; if (!this.__identifierSetterName15aSet) { // identifierSetterName has no pre constraints identifierSetterName15a = handleGetIdentifierSetterName(); // identifierSetterName has no post constraints this.__identifierSetterName15a = identifierSetterName15a; if (isMetafacadePropertyCachingEnabled()) { this.__identifierSetterName15aSet = true; } } return identifierSetterName15a; } // ---------------- business methods ---------------------- /** * Method to be implemented in descendants *

* Gets the attributes as a list within an operation call, * optionally including the type names and the identifier * attributes. *

* @param withIdentifiers * @return String */ protected abstract String handleGetOperationCallFromAttributes(boolean withIdentifiers); /** *

* Gets the attributes as a list within an operation call, * optionally including the type names and the identifier * attributes. *

* @param withIdentifiers boolean *

* True if you want to include identifiers within the attribute * list, false otherwise. *

* @return handleGetOperationCallFromAttributes(withIdentifiers) */ public String getOperationCallFromAttributes(boolean withIdentifiers) { // getOperationCallFromAttributes has no pre constraints String returnValue = handleGetOperationCallFromAttributes(withIdentifiers); // getOperationCallFromAttributes has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @return Collection */ protected abstract Collection handleGetIdentifiers(boolean follow); /** *

* 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. *

* @param follow boolean * @return handleGetIdentifiers(follow) */ public Collection getIdentifiers(boolean follow) { // getIdentifiers has no pre constraints Collection returnValue = handleGetIdentifiers(follow); // getIdentifiers has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param withIdentifiers * @param follow * @return String */ protected abstract String handleGetOperationCallFromAttributes(boolean withIdentifiers, boolean follow); /** *

* 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. *

* @param withIdentifiers boolean *

* If true, identifiers will be included in the list. *

* @param follow boolean *

* If this is true, the inheritance hierarchy will be followed when * retrieving all attrbutes. *

* @return handleGetOperationCallFromAttributes(withIdentifiers, follow) */ public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) { // getOperationCallFromAttributes has no pre constraints String returnValue = handleGetOperationCallFromAttributes(withIdentifiers, follow); // getOperationCallFromAttributes has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return Collection */ protected abstract Collection handleGetRequiredAttributes(boolean follow, boolean 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. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy when * retreiving the attributes. If true, the required attributes in * super classes will also be returned, if false, just the ones * directly on the entity will be returned. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the list of required * attributes. *

* @return handleGetRequiredAttributes(follow, withIdentifiers) */ public Collection getRequiredAttributes(boolean follow, boolean withIdentifiers) { // getRequiredAttributes has no pre constraints Collection returnValue = handleGetRequiredAttributes(follow, withIdentifiers); // getRequiredAttributes has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return Collection */ protected abstract Collection handleGetRequiredProperties(boolean follow, boolean 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. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy when * retreiving the properties. If true, the required propertis in * super classes will also be returned, if false, just the ones * directly on the entity will be returned. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the list of required * attributes. *

* @return handleGetRequiredProperties(follow, withIdentifiers) */ public Collection getRequiredProperties(boolean follow, boolean withIdentifiers) { // getRequiredProperties has no pre constraints Collection returnValue = handleGetRequiredProperties(follow, withIdentifiers); // getRequiredProperties has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return Collection */ protected abstract Collection handleGetAttributes(boolean follow, boolean 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. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy when * retreiving attributes. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the returned * attributes. *

* @return handleGetAttributes(follow, withIdentifiers) */ public Collection getAttributes(boolean follow, boolean withIdentifiers) { // getAttributes has no pre constraints Collection returnValue = handleGetAttributes(follow, withIdentifiers); // getAttributes has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return String */ protected abstract String handleGetAttributeTypeList(boolean follow, boolean withIdentifiers); /** *

* 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. *

* @param follow boolean *

* Whether or not to 'follow' the inheritance hierarchy. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers. *

* @return handleGetAttributeTypeList(follow, withIdentifiers) */ public String getAttributeTypeList(boolean follow, boolean withIdentifiers) { // getAttributeTypeList has no pre constraints String returnValue = handleGetAttributeTypeList(follow, withIdentifiers); // getAttributeTypeList has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return String */ protected abstract String handleGetAttributeNameList(boolean follow, boolean 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. *

* @param follow boolean *

* Whether or not to 'follow' the inheritance hierarchy. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the returned * attributes. *

* @return handleGetAttributeNameList(follow, withIdentifiers) */ public String getAttributeNameList(boolean follow, boolean withIdentifiers) { // getAttributeNameList has no pre constraints String returnValue = handleGetAttributeNameList(follow, withIdentifiers); // getAttributeNameList has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return String */ protected abstract String handleGetRequiredAttributeTypeList(boolean follow, boolean 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. *

* @param follow boolean *

* Whether or not to 'follow' the inheritance hierarchy. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the list of required * attributes. *

* @return handleGetRequiredAttributeTypeList(follow, withIdentifiers) */ public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) { // getRequiredAttributeTypeList has no pre constraints String returnValue = handleGetRequiredAttributeTypeList(follow, withIdentifiers); // getRequiredAttributeTypeList has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return String */ protected abstract String handleGetRequiredAttributeNameList(boolean follow, boolean withIdentifiers); /** *

* 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. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy when * retreiving the attributes. If true, the required attributes in * super classes will also be used, if false, just the ones * directly on the entity will be added to the list. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the list of required * attribute names. *

* @return handleGetRequiredAttributeNameList(follow, withIdentifiers) */ public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) { // getRequiredAttributeNameList has no pre constraints String returnValue = handleGetRequiredAttributeNameList(follow, withIdentifiers); // getRequiredAttributeNameList has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @return Collection */ protected abstract Collection handleGetQueryOperations(boolean follow); /** *

* 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. *

* @param follow boolean * @return handleGetQueryOperations(follow) */ public Collection getQueryOperations(boolean follow) { // getQueryOperations has no pre constraints Collection returnValue = handleGetQueryOperations(follow); // getQueryOperations has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* Creates a comma separated list of the required property names. *

* @param follow * @param withIdentifiers * @return String */ protected abstract String handleGetRequiredPropertyNameList(boolean follow, boolean withIdentifiers); /** *

* Creates a comma separated list of the required property names. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy when * retrieving the properties. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the list. *

* @return handleGetRequiredPropertyNameList(follow, withIdentifiers) */ public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) { // getRequiredPropertyNameList has no pre constraints String returnValue = handleGetRequiredPropertyNameList(follow, withIdentifiers); // getRequiredPropertyNameList has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* A comma separated list of the required property types. *

* @param follow * @param withIdentifiers * @return String */ protected abstract String handleGetRequiredPropertyTypeList(boolean follow, boolean withIdentifiers); /** *

* A comma separated list of the required property types. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the list. *

* @return handleGetRequiredPropertyTypeList(follow, withIdentifiers) */ public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) { // getRequiredPropertyTypeList has no pre constraints String returnValue = handleGetRequiredPropertyTypeList(follow, withIdentifiers); // getRequiredPropertyTypeList has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @return Collection */ protected abstract Collection handleGetProperties(boolean follow, boolean withIdentifiers); /** *

* 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. *

* @param follow boolean * @param withIdentifiers boolean * @return handleGetProperties(follow, withIdentifiers) */ public Collection getProperties(boolean follow, boolean withIdentifiers) { // getProperties has no pre constraints Collection returnValue = handleGetProperties(follow, withIdentifiers); // getProperties has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* Gets all the associationEnds of this entity marked with the * identifiers stereotype. *

* @return Collection */ protected abstract Collection handleGetIdentifierAssociationEnds(); /** *

* Gets all the associationEnds of this entity marked with the * identifiers stereotype. *

* @return handleGetIdentifierAssociationEnds() */ public Collection getIdentifierAssociationEnds() { // getIdentifierAssociationEnds has no pre constraints Collection returnValue = handleGetIdentifierAssociationEnds(); // getIdentifierAssociationEnds has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @param withDerived * @return Collection */ protected abstract Collection handleGetAttributes(boolean follow, boolean withIdentifiers, boolean withDerived); /** *

* 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. *

* @param follow boolean *

* Whether or not to follow the inheritance hierarchy when * retreiving attributes. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the returned * attributes. *

* @param withDerived boolean *

* Whether or not to include derived attributes in the returned * attributes. *

* @return handleGetAttributes(follow, withIdentifiers, withDerived) */ public Collection getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) { // getAttributes has no pre constraints Collection returnValue = handleGetAttributes(follow, withIdentifiers, withDerived); // getAttributes has no post constraints return returnValue; } /** * Method to be implemented in descendants *

* 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. *

* @param follow * @param withIdentifiers * @param withDerived * @return String */ protected abstract String handleGetAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived); /** *

* 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. *

* @param follow boolean *

* Whether or not to 'follow' the inheritance hierarchy. *

* @param withIdentifiers boolean *

* Whether or not to include identifiers in the returned * attributes. *

* @param withDerived boolean *

* Whether or not to include derived attributes in the returned * attributes. *

* @return handleGetAttributeNameList(follow, withIdentifiers, withDerived) */ public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) { // getAttributeNameList has no pre constraints String returnValue = handleGetAttributeNameList(follow, withIdentifiers, withDerived); // getAttributeNameList has no post constraints return returnValue; } // ------------- associations ------------------ /** * * @return (Collection)handleGetEntityReferences() */ public final Collection getEntityReferences() { Collection getEntityReferences1r = null; // entity has no pre constraints Collection result = handleGetEntityReferences(); List shieldedResult = this.shieldedElements(result); try { getEntityReferences1r = (Collection)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getEntityReferences Collection " + result + ": " + shieldedResult); } // entity has no post constraints return getEntityReferences1r; } /** * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type * @return Collection */ protected abstract Collection handleGetEntityReferences(); /** * * @return (EntityAssociationEnd)handleGetParentEnd() */ public final EntityAssociationEnd getParentEnd() { EntityAssociationEnd getParentEnd2r = null; // entity has no pre constraints Object result = handleGetParentEnd(); MetafacadeBase shieldedResult = this.shieldedElement(result); try { getParentEnd2r = (EntityAssociationEnd)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getParentEnd EntityAssociationEnd " + result + ": " + shieldedResult); } // entity has no post constraints return getParentEnd2r; } /** * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type * @return Object */ protected abstract Object handleGetParentEnd(); /** * * @return (Collection)handleGetChildEnds() */ public final Collection getChildEnds() { Collection getChildEnds3r = null; // entity has no pre constraints Collection result = handleGetChildEnds(); List shieldedResult = this.shieldedElements(result); try { getChildEnds3r = (Collection)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getChildEnds Collection " + result + ": " + shieldedResult); } // entity has no post constraints return getChildEnds3r; } /** * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type * @return Collection */ protected abstract Collection handleGetChildEnds(); /** * * @return (Collection)handleGetQueryOperations() */ public final Collection getQueryOperations() { Collection getQueryOperations4r = null; // entity has no pre constraints Collection result = handleGetQueryOperations(); List shieldedResult = this.shieldedElements(result); try { getQueryOperations4r = (Collection)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getQueryOperations Collection " + result + ": " + shieldedResult); } // entity has no post constraints return getQueryOperations4r; } /** * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type * @return Collection */ protected abstract Collection handleGetQueryOperations(); /** * * @return (Collection)handleGetBusinessOperations() */ public final Collection getBusinessOperations() { Collection getBusinessOperations5r = null; // entity has no pre constraints Collection result = handleGetBusinessOperations(); List shieldedResult = this.shieldedElements(result); try { getBusinessOperations5r = (Collection)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getBusinessOperations Collection " + result + ": " + shieldedResult); } // entity has no post constraints return getBusinessOperations5r; } /** * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type * @return Collection */ protected abstract Collection handleGetBusinessOperations(); /** * * @return (Collection)handleGetIdentifiers() */ public final Collection getIdentifiers() { Collection getIdentifiers6r = null; // entity has no pre constraints Collection result = handleGetIdentifiers(); List shieldedResult = this.shieldedElements(result); try { getIdentifiers6r = (Collection)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getIdentifiers Collection " + result + ": " + shieldedResult); } // entity has no post constraints return getIdentifiers6r; } /** * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type * @return Collection */ protected abstract Collection handleGetIdentifiers(); /** * * @return (Collection)handleGetAllEntityReferences() */ public final Collection getAllEntityReferences() { Collection getAllEntityReferences7r = null; // entity has no pre constraints Collection result = handleGetAllEntityReferences(); List shieldedResult = this.shieldedElements(result); try { getAllEntityReferences7r = (Collection)shieldedResult; } catch (ClassCastException ex) { // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn EntityLogic.logger.warn("incorrect metafacade cast for EntityLogic.getAllEntityReferences Collection " + result + ": " + shieldedResult); } // entity has no post constraints return getAllEntityReferences7r; } /** * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type * @return Collection */ protected abstract Collection handleGetAllEntityReferences(); /** *

Constraint: org::andromda::metafacades::uml::Entity::entity must have at least one primary key

*

Error: Each entity must have at least one identifier defined.

*

OCL: context Entity inv: identifiersPresent

*

Constraint: org::andromda::metafacades::uml::Entity::entity must have all public attributes

*

Error: All attributes on an entity must have a public visibility.

*

OCL: context Entity inv : attributes -> forAll(visibility = 'public')

*

Constraint: org::andromda::metafacades::uml::Entity::entity must have public associations

*

Error: All navigable connecting association ends must have a public visibility.

*

OCL: context Entity inv : associationEnds -> forAll(otherEnd.navigable implies otherEnd.visibility = 'public')

*

Constraint: org::andromda::metafacades::uml::Entity::entities can only generalize other entities

*

Error: An entity can only generalize another entity.

*

OCL: context Entity inv : generalization -> notEmpty() implies generalization.oclIsKindOf(Entity)

*

Constraint: org::andromda::metafacades::uml::Entity::entities can only specialize other entites

*

Error: An entity can only specialize another entity.

*

OCL: context Entity inv : specializations -> notEmpty() implies specializations -> forAll(oclIsKindOf(Entity))

* @param validationMessages Collection * @see ClassifierFacadeLogicImpl#validateInvariants(Collection validationMessages) */ @Override public void validateInvariants(Collection validationMessages) { super.validateInvariants(validationMessages); try { final Object contextElement = this.THIS(); boolean constraintValid = OCLResultEnsurer.ensure(OCLIntrospector.invoke(contextElement,"identifiersPresent")); if (!constraintValid) { validationMessages.add( new ModelValidationMessage( (MetafacadeBase)contextElement , "org::andromda::metafacades::uml::Entity::entity must have at least one primary key", "Each entity must have at least one identifier defined.")); } } catch (Throwable th) { Throwable cause = th.getCause(); int depth = 0; // Some throwables have infinite recursion while (cause != null && depth < 7) { th = cause; depth++; } logger.error("Error validating constraint 'org::andromda::metafacades::uml::Entity::entity must have at least one primary key' ON " + this.THIS().toString() + ": " + th.getMessage(), th); } try { final Object contextElement = this.THIS(); boolean constraintValid = OCLResultEnsurer.ensure(OCLCollections.forAll(OCLIntrospector.invoke(contextElement,"attributes"),new Predicate(){public boolean evaluate(Object object){return Boolean.valueOf(String.valueOf(OCLExpressions.equal(OCLIntrospector.invoke(object,"visibility"),"public"))).booleanValue();}})); if (!constraintValid) { validationMessages.add( new ModelValidationMessage( (MetafacadeBase)contextElement , "org::andromda::metafacades::uml::Entity::entity must have all public attributes", "All attributes on an entity must have a public visibility.")); } } catch (Throwable th) { Throwable cause = th.getCause(); int depth = 0; // Some throwables have infinite recursion while (cause != null && depth < 7) { th = cause; depth++; } logger.error("Error validating constraint 'org::andromda::metafacades::uml::Entity::entity must have all public attributes' ON " + this.THIS().toString() + ": " + th.getMessage(), th); } try { final Object contextElement = this.THIS(); boolean constraintValid = OCLResultEnsurer.ensure(OCLCollections.forAll(OCLIntrospector.invoke(contextElement,"associationEnds"),new Predicate(){public boolean evaluate(Object object){return Boolean.valueOf(String.valueOf((Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(object,"otherEnd.navigable"))).booleanValue()?OCLExpressions.equal(OCLIntrospector.invoke(object,"otherEnd.visibility"),"public"):true))).booleanValue();}})); if (!constraintValid) { validationMessages.add( new ModelValidationMessage( (MetafacadeBase)contextElement , "org::andromda::metafacades::uml::Entity::entity must have public associations", "All navigable connecting association ends must have a public visibility.")); } } catch (Throwable th) { Throwable cause = th.getCause(); int depth = 0; // Some throwables have infinite recursion while (cause != null && depth < 7) { th = cause; depth++; } logger.error("Error validating constraint 'org::andromda::metafacades::uml::Entity::entity must have public associations' ON " + this.THIS().toString() + ": " + th.getMessage(), th); } try { final Object contextElement = this.THIS(); boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLCollections.notEmpty(OCLIntrospector.invoke(contextElement,"generalization")))).booleanValue()?OCLIntrospector.invoke(contextElement,"generalization") instanceof Entity:true)); if (!constraintValid) { validationMessages.add( new ModelValidationMessage( (MetafacadeBase)contextElement , "org::andromda::metafacades::uml::Entity::entities can only generalize other entities", "An entity can only generalize another entity.")); } } catch (Throwable th) { Throwable cause = th.getCause(); int depth = 0; // Some throwables have infinite recursion while (cause != null && depth < 7) { th = cause; depth++; } logger.error("Error validating constraint 'org::andromda::metafacades::uml::Entity::entities can only generalize other entities' ON " + this.THIS().toString() + ": " + th.getMessage(), th); } try { final Object contextElement = this.THIS(); boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLCollections.notEmpty(OCLIntrospector.invoke(contextElement,"specializations")))).booleanValue()?OCLCollections.forAll(OCLIntrospector.invoke(contextElement,"specializations"),new Predicate(){public boolean evaluate(Object object){return Boolean.valueOf(String.valueOf(object instanceof Entity)).booleanValue();}}):true)); if (!constraintValid) { validationMessages.add( new ModelValidationMessage( (MetafacadeBase)contextElement , "org::andromda::metafacades::uml::Entity::entities can only specialize other entites", "An entity can only specialize another entity.")); } } catch (Throwable th) { Throwable cause = th.getCause(); int depth = 0; // Some throwables have infinite recursion while (cause != null && depth < 7) { th = cause; depth++; } logger.error("Error validating constraint 'org::andromda::metafacades::uml::Entity::entities can only specialize other entites' ON " + this.THIS().toString() + ": " + th.getMessage(), th); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy