org.omg.cwm.objectmodel.core
Interface Constraint

All Superinterfaces:
Element, ModelElement, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject
All Known Subinterfaces:
CheckConstraint

public interface Constraint
extends ModelElement

A constraint is a semantic condition or restriction expressed in text. In the metamodel, a Constraint is a BooleanExpression on an associated ModelElement(s) which must be true for the model to be well formed. This restriction can be stated in natural language, or in different kinds of languages with well-defined semantics. Certain Constraints are predefined, others may be user defined. Note that a Constraint is an assertion, not an executable mechanism. The specification is written as an expression in a designated constraint language. The language can be specially designed for writing constraints (such as OCL), a programming language, mathematical notation, or natural language. If constraints are to be enforced by a model editor tool, then the tool must understand the syntax and semantics of the constraint language. Because the choice of language is arbitrary, constraints can be used as an extension mechanism. The constraint concept allows new semantics to be specified linguistically for a model element. In the metamodel a Constraint directly attached to a ModelElement describes semantic restrictions that this ModelElement must obey.


Method Summary
 BooleanExpression getBody()
          A BooleanExpression that must be true when evaluated for an instance of a system to be well-formed.
 java.util.List getConstrainedElement()
           
 void setBody(BooleanExpression newValue)
          A BooleanExpression that must be true when evaluated for an instance of a system to be well-formed.
 
Methods inherited from interface org.omg.cwm.objectmodel.core.ModelElement
getClientDependency, getConstraint, getImporter, getName, getNamespace, getVisibility, setName, setNamespace, setVisibility
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getBody

public BooleanExpression getBody()
                          throws javax.jmi.reflect.JmiException
A BooleanExpression that must be true when evaluated for an instance of a system to be well-formed. A boolean expression defining the constraint. Expressions are written as strings in a designated language. For the model to be well formed, the expression must always yield a true value when evaluated for instances of the constrained elements at any time when the system is stable (i.e., not during the execution of an atomic operation).

setBody

public void setBody(BooleanExpression newValue)
             throws javax.jmi.reflect.JmiException
A BooleanExpression that must be true when evaluated for an instance of a system to be well-formed. A boolean expression defining the constraint. Expressions are written as strings in a designated language. For the model to be well formed, the expression must always yield a true value when evaluated for instances of the constrained elements at any time when the system is stable (i.e., not during the execution of an atomic operation).

getConstrainedElement

public java.util.List getConstrainedElement()
                                     throws javax.jmi.reflect.JmiException


Copyright 1997-2005 by Object Management Group, Inc. (http://www.omg.org/), 250 First Ave. Needham, MA 02494 U.S.A. All rights reserved. Unless otherwise indicated, users may make a single copy of the contents, in whole or in part, of this web site strictly for personal, non-commercial use. In the event that all or part of this site is downloaded for personal use, users shall maintain all proprietary notices including copyright notices that appear on or in connection with that content. Other than creating a single copy of contents for personal use as described herein, users may not copy, reproduce, distribute, republish, download, display, post or transmit in any form or by any means, including but not limited to electronic, mechanical, photocopying, recording, or other means, any content found or linked to the OMG web site without the prior express written permission of OMG. Any unauthorized use of any content contained on the OMG web site may violate the copyright laws, trademark laws, laws relating to publicity and privacy, and other regulations and statutes in the U.S. and other countries.