/***************************************************************************** * Copyright (c) 2011 CEA LIST. * * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * CEA LIST - Initial API and implementation * *****************************************************************************/ package org.eclipse.papyrus.uml.alf.syntax.units; import org.eclipse.papyrus.uml.alf.syntax.expressions.Expression; public class PropertyDefinition extends TypedElementDefinition { // Synthesized Properties public Expression initializer ; public boolean isComposite = false ; // Derived Properties public boolean isBitStringConversion ; public boolean isCollectionConversion ; // Constraints /* * If a property definition has an initializer, then the initializer expression must be assignable to the * property definition. */ public void checkPropertyDefinitionInitializer() { } /* * A property definition requires BitString conversion if its type is BitString and the type of its initializer is * Integer or a collection class whose argument type is Integer. */ public void checkPropertyDefinitionIsBitStringConversion() { } /* * A property definition requires collection conversion if its initializer has a collection class as its type and * the property definition does not. */ public void checkPropertyDefinitionIsCollectionConversionDerivation() { } /* * A property definition is a feature. */ public void checkPropertyDefinitionIsFeatureDerivation() { } // Helper Operations /* * Returns true if the annotation is for a stereotype that has a metaclass consistent with Property. */ public boolean annotationAllowed(StereotypeAnnotation annotation) { return false ; } /* * Return true if the given member is either a PropertyDefinition or an imported member whose referent is * a PropertyDefinition or a Property. */ public boolean isSameKindAs(Member member) { return false ; } }