[Previous]  [Next] 
|
User Manual [Previous]  [Next] PreconditionsYou can specify basic preconditions in methods as shown below. Like other constraints, they are specified in square brackets. Precondition appears as the first lines of a method and must start with 'pre:'. A precondition can refer to one or more attributes or method arguments. If a precondition is not satisfied when the method is run an exception will be thrown; in Java a RuntimeException is used. Exampleclass PotentialVoter { Integer age; int vote(int candidate) { [pre: age >= 18] [pre: candidate > 0] // rest of stuff that we do not interpret return 0; } } Load the above code into UmpleOnline Syntax// Constraints in Umple. // This is currently under development. Constraint capability is being // developed in agile increments. The first step, described below, // allows limiting the values of attributes. Code generation is not currently enabled. // Constraints may appear in classes (including association classes) // as well as in states. precondition : [ [name]? pre : [[constraint]] ] //queuedMethodDeclaration- : queued [[methodDeclarator]] [[methodThrowsExceptions]]? [[methodBody]] methodBody- :  ( [[codeLangs]] {  ( [[precondition]]  | [[postcondition]]  | [[assertion]]|[[testCase]]  )* [**code] }  )+ |