//Artefact:ModelClass/com/sphenon/modelling/xmodel/XMState
Description
Properties of state management in general
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/IsTransient
Description
If true, on class level, state is not maintained at all. If true, on
feature level, the respective attribute or association is not persistent.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/IsIdentifier
Description
If true, on feature level, the respective attribute or association serves
as a primary key (component) of this class, i.e. specifically an ORM
will use this attribute instead of generating an artificial internal
ID attribute. Note that there is a related property in XMLogic.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/Filter
Description
A list of filters, which filter, depending on aspects defined
in the current context, the persistent data that is visible.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/InteractionHooks
Description
If true, the interaction layer (IL) classes (i.e. factories, editors,
etc.) will implement hooks to inform the state layer of relevant state events.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/OnDemandDefaultInitialiser
Description
The result of this expression is assigned to persistent members
if they are accessed by their getter and have a null value assigned.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/BeforeStateGetBody
Description
Code, that is inserted in automatically generated state set methods
before the actual value is returned.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/BeforeStateSetBody
Description
Code, that is inserted in automatically generated state set methods
before the actual assignment takes place.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/AfterStateSetBody
Description
Code, that is inserted in automatically generated state set methods
after the actual assignment took place.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/PersistentType
Description
Type of a persistent attribute used to store the corresponding ADO attribute.
This persistent attribute is either an additional, hidden attribute in
the ADO instance or it is used solely in the TSM layer state class.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/PersistentTypeMapper
Description
An expression, that creates an ADO attribute instance based on a given
persistent attribute instance, see "PersistentType". See also
"PersistentTypeMapper" and "PersistentTypeReverseMapper".
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/PersistentTypeReverseMapper
Description
An expression, that extracts (or creates) an persistent attribute
instance from a given ADO attribute instance, see "PersistentType".
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/ManageMappedInstance
Description
If true, next to the mapped persistant instance of an attribute
it's application domain type instance is kept in the state adapter,
too. Reasons might be caching or alternate conversion procedures,
e.g. loading into existing instead of creating new values.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/MappedOnDemandDefaultInitialiser
Description
The result of this expression is assigned to application domain type
instance members if they are accessed by their getter and have a null
value assigned.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/DatabaseName
Description
Default name of the associated database. This could be
overridden, depending on the installation, and by
different mechanisms.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/TableName
Description
Name of the associated database table. Defaults to class name in
uppercase/underscore notation with the prefix "T_".
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/TablePrefix
Description
If defined, all tables in the respective package will be prefixed
with this name.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☑ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/TableVersion
Description
If used on classes, the version identifier of the associated database
table. Defaults to empty.
If used on packages, it applies to all classes contained in this package.
If used on attributes or associations in the technical model, the
version identifier of the associated database table of the attribute
type or of the type at the other end of an association. Used to ensure
consistency when migrating database schemas.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☑ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/VersionCrossCheck
Description
If true, during generation of JPA mappings a crosscheck is performed
whether a previous mapping for the given table version was already
created and whether any referenced tables (according to model
associations) have the same versions. If not, an error is reported,
explaining that the table version at hand needs to be incremented
as well.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/DiscriminatorValue
Description
Name of the class to be used as a discriminator in associated database
tables. Used in inheritance relationships in the base table to identify
the specific derived class. Defaults to the interface name plus
possibly an implementation postfix. To save storage space, the use of
very short abbreviations can be considered. In that case, typically the
size of the corresponding column in relational tables ha to be
shorteded, too (e.g. default in JPA/eclipselink is varchar(31)).
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/ColumnName
Description
Name of the column in the associated database table. Defaults to
attribute name in uppercase/underscore notation.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/ColumnSize
Description
Size of a column field in the associated database table.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/UniquenessGroup
Description
Deprecated: please use the more comprehensive solution with
Stereotype Unique and
and property
XMUnique/Groups.
Optionally specifies the name of a group of attributes which have to be
unique in conjunction. In other words, all attributes with the same
UniquenessGroup name belong to such a group, whose value combinations
are restricted by a uniqueness constraint.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/ValueAggregate
Description
Name of an aggregate to load on demand, which defines instance values
for the respective class.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/SetupScript
Description
Name of a script to run on demand, which is intended to setup instances
of the respective class.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/Constant
Description
Apart from being initialised, the values of this class are not
modified, i.e. the respective AllSet is constant. This is typically
used with enumerations. Specifically, an underlying database is not
required to load these values more than once and keep the respective
query result in memory.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/Cascading
Description
Controls cascading behaviour, i.e. whether the ORM/DBMS shall propagate
deletes or refreshes to contained subobjects.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/IndexDefinition
Description
Database index definition
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/ChangeLog
Description
A list of changes of the respective feature or element, ordered by
occurence, from first change to latest change. For each change, the
respective table version is given.
The list is used to automatically create migration scripts which can be
used to move data from an existing database to a database with a new
version and a respective modified schema.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☑ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☑ operations ∙ ☑ association
ends ∙ ☑ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/MergeIntoScope
Description
A list of BLC events when this feature will be automatically read into
the current TSM transaction scope.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/Versioning
Description
Indicates whether, and if so, how, the data of the respective model
element is versioned at runtime.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association
ends ∙ ☐ states
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMState/AggregateRealm
Description
Indicates an aggregate realm to which this class and it's instances
belong. Realms indicate that the contained items belong logically
together, typically they are used, stored, loaded, imported and
exported as a bundle, while items outside the realm might just
be referenced in some way.
This concept is related to DDD's 'Bounded Contexts'.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association
ends ∙ ☐ states