//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)]