su4sml/share/templates/use.tpl

143 lines
4.1 KiB
Smarty

@//////////////////////////////////////////////////////////////////////////////
@// su4sml --- an SML repository for managing (Secure)UML/OCL models
@// http://projects.brucker.ch/su4sml/
@//
@// use.tpl --- Template for USE (UML Specification Environment)
@// This file is part of su4sml.
@//
@// Copyright (c) 2007, ETH Zurich, Switzerland
@//
@// All rights reserved.
@//
@// Redistribution and use in source and binary forms, with or without
@// modification, are permitted provided that the following conditions are
@// met:
@//
@// * Redistributions of source code must retain the above copyright
@// notice, this list of conditions and the following disclaimer.
@//
@// * Redistributions in binary form must reproduce the above
@// copyright notice, this list of conditions and the following
@// disclaimer in the documentation and/or other materials provided
@// with the distribution.
@//
@// * Neither the name of the copyright holders nor the names of its
@// contributors may be used to endorse or promote products derived
@// from this software without specific prior written permission.
@//
@// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
@// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
@// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
@// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
@// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
@// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
@// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
@// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@///////////////////////////////////////////////////////////////////////////////
@// $Id: use.tpl 40127 2007-07-04 06:41:30Z brucker $
@openfile $classifier_package$.use
@nl
@nl model $classifier_package$
@foreach nonprimitive_classifier_list
@nl
@nl
@if isClass
class $classifier_name$
@end
@if isInterface
interface $classifier_name$
@end
@if isEnumeration
enum $classifier_name$ {
@end
@if notInterface
@if hasParent
< $classifier_parent$
@end
@end
@nl
@if notInterface
@if hasAttributes
@spc@spc@spc@spc attributes
@foreach attribute_list
@nl@tab$attribute_name$ : $attribute_type$
@end
@nl
@end
@end
@nl
@if hasOperations
@spc@spc@spc@spc operations
@foreach operation_list
@nl @tab@tab $operation_name$(
@foreach argument_list
@if last_argument
$argument_name$ : $argument_type$
@else
$argument_name$ : $argument_type$,
@end
@end
) : $operation_result_type$
@end
@end
@nl
@if isClass
end
@end
@if isEnumeration
}
@end
@end
@nl
@nl
constraints@nl
@foreach nonprimitive_classifier_list
@if hasInvariants
context $classifier_name$ @nl
@foreach invariant_list
@spc@spc inv $inv_name$: $inv_cs$ @nl
@end
@nl
@end
@if hasOperations
@foreach operation_list
@if hasOpSpec
@nl context $classifier_name$::$operation_name$(
@foreach argument_list
@if last_argument
$argument_name$ : $argument_type$
@else
$argument_name$ : $argument_type$,
@end
@end
) : $operation_result_type$
@nl
@foreach precondition_list
@spc@spc pre $pre_name$: $pre_cs$ @nl
@end
@foreach postcondition_list
@spc@spc post $post_name$: $post_cs$ @nl
@end
@end
@nl
@end
@end
@end
@end