//Artefact:ModelClass/com/sphenon/modelling/xmodel/XMLogic

Description

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/ReadOnly

Description

If true, the respective attribute is readonly in the interface.
This corresponds to the setting of the ReadOnly attribute, one of both is sufficient to be used.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/DefaultValue

Description

The result of this expression is used in factories if no value is explicitly provided. It is not used in instances for initialisation of members. I.e., in many cases this code might not be executed at all.
See also OnCreateInitialiser and OnDemandDefaultInitialiser.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/DefaultValueCache

Description

If true, the result of evaluating DefaultValue is constant and can and shall be safely cached by implementations.
See also OnCreateInitialiser and OnDemandDefaultInitialiser.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/MaxTextSize

Description

The maximum characters the user can input in a text box.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/AcceptableMediaTypes

Description

A list of unique file type specifiers as can be used e.g. by the HTML 'input' tag attribute 'accept'.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
Evaluation context: ---

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/Optional

Description

If true, the resepctive attribute is optional, i.e. "null" is a valid value and the interface does not require a value.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/IrreplacableContainer

Description

If true, the resepctive attribute represents some kind of container or holder which is irreplaceble bound to the enclosing instance. If such an attribute is edited, the container itself is edited, not the slot. I.e. the slot is not assigned a new container.
This property by default is set to true on associations, i.e. on the containers used to implement them.
Applies to
▸ Model level: ☐ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/OnCreateInitialiser

Description

The result of this expression is assigned to members of newly created instances in the on-create-initialisation method. In contrast to a default value, it is always executed, if a new instance is created, unless a non-null value has already been assigned to the respective member, or alternatively, the precondition XMLogic/OnCreateInitialiserPreCondition is fulfilled.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/OnCreateInitialiserPreCondition

Description

If specified, the result of this expression is used as a precondition to check whether the XMLogic/OnCreateInitialiser shall be applied. If not, the default check is if a value different from 'null' has been assigned already during preinitialisation phase.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/OnCreateFactoryInitialiser

Description

The result of this expression is assigned to members in newly created factories in the constructor and in the reset method. In contrast to a default value, it is always executed, if a new factory is created.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/OnDemandDefaultInitialiser

Description

The result of this expression is assigned to members of instances 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/XMLogic/OnLoadInitialiser

Description

The result of this expression is assigned to members of instances reloaded from database in the on-load-initialisation method.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/Observer

Description

This result of this expression is used as the name of a wrapper class which placed around the respective attribute to observe modifications. Events are then propagated to the enclosing class.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/UseDefaultInitialiser

Description

If true and code is available, a default expression is determined and used as an initialiser.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/UseDefaultObserver

Description

If true and code is available, a default expression is determined and used as an observer.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/ImplementationType

Description

Optionally, an alternative type used to implement this attribute. The type must be a subtype of the main type of this attribute, which is used in interfaces.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/Comparison

Description

Optionally, an expression that is used to compare two values of the type of this attribute, to detect whether modifcations took place or whether not.
The expression is expected to be a (JavaCode) Template, which is provided with two parameters 'value1' and 'value2' when evaluated, which refer to the values to be compared.
The comparison code must evaluate to an integer, whereby 0 indicates equality, a negative value that 'value1' is less than 'value2', and a positive value that 'value1' is greater than 'value2'.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/AssociationAttributeType

Description

The type of the application domain attribute that is used in the interface to implement this association end. Used by the default AssociationAttributeMapper, see AssociationAttributeMapper property.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/AssociationAttributeInitialiser

Description

Code for the ado attribute that is used in the implementation class to initialise this association end. Used by the default AssociationAttributeMapper, see AssociationAttributeMapper property.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/AssociationAttributeMapper

Description

Name of a class which implements the AssociationAttributeMapper interface in com.sphenon.ad.adcore.model which is used to determine the type and name of the ado attribute that is used to implement this association end.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/CodeHumanLanguage

Description

Human language to use in code to name classes, attributes etc.
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☑ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☑ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/JavaConstruct

Description

What type of Java construct (interface, class, enum) is generated for this model class.
Applies to
▸ Model level: ☐ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/TypeParameters

Description

If given, the generated interface or class gets these type parameters (generics).
Applies to
▸ Model level: ☐ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/Destroyer

Description

This code is executed in the destroy method of the class of this feature.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/DestructionConstraints

Description

A condition which must be fulfilled before an instance of the respective class can be destroyed.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/DeletionConstraints

Description

A condition which must be fulfilled before an instance of the respective class can be deleted.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/EditConstraints

Description

A condition which must be fulfilled before an instance of the respective class can be edited (i.e., an editor created).
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/ValidationConstraints

Description

A condition which must be fulfilled to indicate that the validation of a class or an attribute is successful.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/PreConditions

Description

A condition which must be fulfilled before an operation is executed.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☑ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/PostConditions

Description

A condition which must be fulfilled after an operation was executed.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☑ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/AllSetTreeRoots

Description

Determines the tree roots for a tree representation from the business logic. If the XMTreeRoots property "Filter" is true, the filter is additionally enabled for the tree.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/IsIdentifier

Description

If true, the respective attribute or association represents a part of the identity (like primary key) of this class. Note that there is a related property in XMState.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/ValidationDeep

Description

An indicator to validate items of a collection instead of validate the collections itself only. True, if collection items should be validated.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/SelectorUpdate

Description

Sets its own value. Runs, if present, the specified trigger, and refreshes the specified attributes (ids). Max one trigger is specified.
See also SelectorReverseUpdate.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

Problem State: caution

caution com.sphenon.basics.exception.ExceptionPreConditionViolation : error: Doclet property 'Audience', contains more local options 'User' than parent options 'Developer|Architect', some of them can never be matched--------------- - Completed - Evaluating JavaScript expression 'importClass(Packages.com.sphenon.basics.configuration.Configuration);importClass(Packages.com.sphenon.basics.configurationjs.ExitCode);importClass(Packages.com.sphenon.basics.application.ApplicationContext);importClass(Packages.com.sphenon.basics.variatives.VariativesContext);importClass(Packages.com.sphenon.basics.aspects.AspectsContext);importClass(Packages.com.sphenon.basics.encoding.Encoding);importClass(Packages.com.sphenon.basics.locating.Locator);importClass(Packages.com.sphenon.basics.expression.Expression);importClass(Packages.com.sphenon.basics.locating.factories.Factory_Locator);importClass(Packages.com.sphenon.basics.locating.factories.Factory_Location);importClass(Packages.com.sphenon.basics.security.SecurityContext);importClass(Packages.com.sphenon.basics.security.AccessType);importClass(Packages.com.sphenon.basics.variatives.StringContext);importClass(Packages.com.sphenon.basics.many.ObjectIterable);importClass(Packages.com.sphenon.basics.system.StringUtilities);importClass(Packages.com.sphenon.engines.factorysite.factories.Factory_Aggregate);importClass(Packages.com.sphenon.basics.monitoring.ProblemState);importClass(Packages.com.sphenon.basics.metadata.TypeManager);execute = function (ocplocator) { result = Locator.resolve(context, ocplocator).execute(context); if (result == null || result.getProblemState(context).isOk(context) == false) { Packages.com.sphenon.basics.notification.NotificationContext.dump(context, "Execution", result, Packages.com.sphenon.basics.notification.Notifier.OBSERVATION); } };' -> JavaScript expression successfully evaluated - Completed - Evaluating JavaScript expression 'config.get(context, "com.sphenon.basics.locating.WORKSPACE", "")+"/sphenon/projects/components/basics/javacode/v0001/build/generated/"+config.get(context,"com.sphenon.basics.system.StringCache.CachePrefix",'xg')+"class/.string-cache"' -> JavaScript expression successfully evaluated [com.sphenon.basics.exception.ExceptionPreConditionViolation.createExceptionPreConditionViolation(ExceptionPreConditionViolation.java:42)] [com.sphenon.basics.customary.CustomaryContext.createPreConditionViolation(CustomaryContext.java:3945)] [com.sphenon.basics.doclet.classes.DocletXML.createListIntersection(DocletXML.java:393)] [com.sphenon.basics.doclet.classes.DocletXML.getAudience(DocletXML.java:156)] [com.sphenon.basics.doclet.classes.DocletXML.validate(DocletXML.java:65)] [com.sphenon.basics.doclet.classes.DocletXML.transferProblemsTo(DocletXML.java:83)] [com.sphenon.basics.doclet.classes.DocletGroupXML.processChilds(DocletGroupXML.java:119)] [com.sphenon.basics.doclet.classes.DocletGroupXML.<init>(DocletGroupXML.java:55)] [com.sphenon.basics.doclet.classes.DocletGroupXML.processGroupNode(DocletGroupXML.java:86)] [com.sphenon.basics.doclet.classes.DocletGroupXML.processChilds(DocletGroupXML.java:113)]

//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMLogic/SelectorReverseUpdate

Description

Sets values of dependent attributes, executes the specified triggers and updates its own new value. Max one trigger is specified. (ids)
See also SelectorUpdate.
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states

Problem State: caution

caution com.sphenon.basics.exception.ExceptionPreConditionViolation : error: Doclet property 'Audience', contains more local options 'User' than parent options 'Developer|Architect', some of them can never be matched--------------- - Completed - Evaluating JavaScript expression 'importClass(Packages.com.sphenon.basics.configuration.Configuration);importClass(Packages.com.sphenon.basics.configurationjs.ExitCode);importClass(Packages.com.sphenon.basics.application.ApplicationContext);importClass(Packages.com.sphenon.basics.variatives.VariativesContext);importClass(Packages.com.sphenon.basics.aspects.AspectsContext);importClass(Packages.com.sphenon.basics.encoding.Encoding);importClass(Packages.com.sphenon.basics.locating.Locator);importClass(Packages.com.sphenon.basics.expression.Expression);importClass(Packages.com.sphenon.basics.locating.factories.Factory_Locator);importClass(Packages.com.sphenon.basics.locating.factories.Factory_Location);importClass(Packages.com.sphenon.basics.security.SecurityContext);importClass(Packages.com.sphenon.basics.security.AccessType);importClass(Packages.com.sphenon.basics.variatives.StringContext);importClass(Packages.com.sphenon.basics.many.ObjectIterable);importClass(Packages.com.sphenon.basics.system.StringUtilities);importClass(Packages.com.sphenon.engines.factorysite.factories.Factory_Aggregate);importClass(Packages.com.sphenon.basics.monitoring.ProblemState);importClass(Packages.com.sphenon.basics.metadata.TypeManager);execute = function (ocplocator) { result = Locator.resolve(context, ocplocator).execute(context); if (result == null || result.getProblemState(context).isOk(context) == false) { Packages.com.sphenon.basics.notification.NotificationContext.dump(context, "Execution", result, Packages.com.sphenon.basics.notification.Notifier.OBSERVATION); } };' -> JavaScript expression successfully evaluated - Completed - Evaluating JavaScript expression 'config.get(context, "com.sphenon.basics.locating.WORKSPACE", "")+"/sphenon/projects/components/basics/javacode/v0001/build/generated/"+config.get(context,"com.sphenon.basics.system.StringCache.CachePrefix",'xg')+"class/.string-cache"' -> JavaScript expression successfully evaluated [com.sphenon.basics.exception.ExceptionPreConditionViolation.createExceptionPreConditionViolation(ExceptionPreConditionViolation.java:42)] [com.sphenon.basics.customary.CustomaryContext.createPreConditionViolation(CustomaryContext.java:3945)] [com.sphenon.basics.doclet.classes.DocletXML.createListIntersection(DocletXML.java:393)] [com.sphenon.basics.doclet.classes.DocletXML.getAudience(DocletXML.java:156)] [com.sphenon.basics.doclet.classes.DocletXML.validate(DocletXML.java:65)] [com.sphenon.basics.doclet.classes.DocletXML.transferProblemsTo(DocletXML.java:83)] [com.sphenon.basics.doclet.classes.DocletGroupXML.processChilds(DocletGroupXML.java:119)] [com.sphenon.basics.doclet.classes.DocletGroupXML.<init>(DocletGroupXML.java:55)] [com.sphenon.basics.doclet.classes.DocletGroupXML.processGroupNode(DocletGroupXML.java:86)] [com.sphenon.basics.doclet.classes.DocletGroupXML.processChilds(DocletGroupXML.java:113)]