/************************************************************************** * ERA - Eclipse Requirements Analysis * ============================================== * Copyright (C) 2009-2013 by Georg Blaschke, Christoph P. Neumann * and Bernd Haberstumpf (http://era.origo.ethz.ch) ************************************************************************** * Licensed under the Eclipse Public License - v 1.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.eclipse.org/org/documents/epl-v10.html * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ************************************************************************** */ package era.foss.erf; /** * The Interface AttributeDefinition. * * @model abstract="true" */ public interface AttributeDefinition extends Identifiable { /** * Gets the type. * * @return the type * @model lowerBound="1" opposite="attributeDefinitions" * @Not generated */ public DatatypeDefinition getType(); /** * The value assigned to this attribute definition is used as ID. * * @return true, if is ident * @model unique="true" default="false" required="true" * @Not generated */ boolean isIdent(); /** * The value assigned to this attribute definition must be unique. * * @return true, if is unique * @model unique="false" default="false" required="true" ordered="false" * @Not generated */ boolean isUnique(); /** * Back linkage to the owning SpecType. * * @return the spec type * @model kind="reference" opposite="specAttributes" required="true" * @Not generated */ SpecType getSpecType(); /** * Sets the value of the '{@link era.foss.erf.AttributeDefinition#getSpecType <em>Spec Type</em>}' container reference. * <!-- begin-user-doc --> <!-- end-user-doc --> * @param value the new value of the '<em>Spec Type</em>' container reference. * @see #getSpecType() * @generated */ void setSpecType( SpecType value ); /** * Sets the value of the '{@link era.foss.erf.AttributeDefinition#isUnique <em>Unique</em>}' attribute. <!-- * begin-user-doc --> <!-- end-user-doc --> * * @param value the new value of the '<em>Unique</em>' attribute. * @see #isUnique() * @generated */ void setUnique( boolean value ); /** * Sets the value of the '{@link era.foss.erf.AttributeDefinition#isIdent <em>Ident</em>}' attribute. <!-- * begin-user-doc --> <!-- end-user-doc --> * * @param value the new value of the '<em>Ident</em>' attribute. * @see #isIdent() * @generated */ void setIdent( boolean value ); /** * Sets the value of the '{@link era.foss.erf.AttributeDefinition#getType <em>Type</em>}' reference. <!-- * begin-user-doc --> <!-- end-user-doc --> * * @param value the new value of the '<em>Type</em>' reference. * @see #getType() * @generated */ void setType( DatatypeDefinition value ); }