Found 33 declarations!
Download CTO Download UML Download JSON Schema Download Typescript Download Java Download Go Download XML Schema
import concerto.metamodel.DecoratorLiteral from /concerto/metamodel.cto
import concerto.metamodel.DecoratorString from /concerto/metamodel.cto
import concerto.metamodel.DecoratorNumber from /concerto/metamodel.cto
import concerto.metamodel.DecoratorBoolean from /concerto/metamodel.cto
import concerto.metamodel.TypeIdentifier from /concerto/metamodel.cto
import concerto.metamodel.DecoratorIdentifier from /concerto/metamodel.cto
import concerto.metamodel.Decorator from /concerto/metamodel.cto
import concerto.metamodel.ClassDeclaration from /concerto/metamodel.cto
import concerto.metamodel.AssetDeclaration from /concerto/metamodel.cto
import concerto.metamodel.ParticipantDeclaration from /concerto/metamodel.cto
import concerto.metamodel.TransactionDeclaration from /concerto/metamodel.cto
import concerto.metamodel.EventDeclaration from /concerto/metamodel.cto
import concerto.metamodel.ConceptDeclaration from /concerto/metamodel.cto
import concerto.metamodel.EnumDeclaration from /concerto/metamodel.cto
import concerto.metamodel.StringDefault from /concerto/metamodel.cto
import concerto.metamodel.BooleanDefault from /concerto/metamodel.cto
import concerto.metamodel.IntegerDefault from /concerto/metamodel.cto
import concerto.metamodel.RealDefault from /concerto/metamodel.cto
import concerto.metamodel.FieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.ObjectFieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.BooleanFieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.DateTimeFieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.StringFieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.StringRegexValidator from /concerto/metamodel.cto
import concerto.metamodel.RealDomainValidator from /concerto/metamodel.cto
import concerto.metamodel.IntegerDomainValidator from /concerto/metamodel.cto
import concerto.metamodel.RealFieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.IntegerFieldDeclaration from /concerto/metamodel.cto
import concerto.metamodel.RelationshipDeclaration from /concerto/metamodel.cto
import concerto.metamodel.Import from /concerto/metamodel.cto
import concerto.metamodel.NamespaceImport from /concerto/metamodel.cto
import concerto.metamodel.TypeImport from /concerto/metamodel.cto
import concerto.metamodel.ModelFile from /concerto/metamodel.cto
/*
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
*
* 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.
*/
namespace concerto.metamodel
/**
* The metadmodel for Concerto files
*/
abstract concept DecoratorLiteral {
}
concept DecoratorString extends DecoratorLiteral {
o String value
}
concept DecoratorNumber extends DecoratorLiteral {
o Double value
}
concept DecoratorBoolean extends DecoratorLiteral {
o Boolean value
}
concept TypeIdentifier {
o String fullyQualifiedName
}
concept DecoratorIdentifier extends DecoratorLiteral {
o TypeIdentifier identifier
o Boolean isArray default=false
}
concept Decorator {
o String name
o DecoratorLiteral[] arguments optional
}
abstract concept ClassDeclaration {
o Decorator[] decorators optional
o Boolean isAbstract default=false
o String identifier
o String identifiedByField optional
o TypeIdentifier superType optional
}
concept AssetDeclaration extends ClassDeclaration {
}
concept ParticipantDeclaration extends ClassDeclaration {
}
concept TransactionDeclaration extends ClassDeclaration {
}
concept EventDeclaration extends ClassDeclaration {
}
concept ConceptDeclaration extends ClassDeclaration {
}
// TODO - enums do not support abstract or super types
concept EnumDeclaration extends ClassDeclaration {
}
concept StringDefault {
o String value
}
concept BooleanDefault {
o Boolean value
}
concept IntegerDefault {
o Integer value
}
concept RealDefault {
o Double value
}
abstract concept FieldDeclaration {
o String name
o Boolean isArray optional
o Boolean isOptional optional
o Decorator[] decorators optional
}
concept ObjectFieldDeclaration extends FieldDeclaration {
o StringDefault defaultValue optional
o TypeIdentifier type
}
concept BooleanFieldDeclaration extends FieldDeclaration {
o BooleanDefault defaultValue optional
}
concept DateTimeFieldDeclaration extends FieldDeclaration {
}
concept StringFieldDeclaration extends FieldDeclaration {
o StringDefault defaultValue optional
o StringRegexValidator validator optional
}
concept StringRegexValidator {
o String regex
}
concept RealDomainValidator {
o Double lower optional
o Double upper optional
}
concept IntegerDomainValidator {
o Integer lower optional
o Integer upper optional
}
concept RealFieldDeclaration extends FieldDeclaration {
o RealDefault defaultValue optional
o RealDomainValidator validator optional
}
concept IntegerFieldDeclaration extends FieldDeclaration {
o IntegerDefault defaultValue optional
o IntegerDomainValidator validator optional
}
concept RelationshipDeclaration extends FieldDeclaration {
o TypeIdentifier type
}
abstract concept Import {
o String uri optional
}
concept NamespaceImport extends Import {
o String namespace
}
concept TypeImport extends Import {
o TypeIdentifier identifier
}
concept ModelFile {
o String namespace
o Import[] imports optional
o ClassDeclaration[] declarations optional
}