//Artefact:ModelClass/com/sphenon/modelling/xmodel/XMServices
Description
//Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/RESTResourceRetrievers
Description
        A list of Retrievers, for which a REST resource is created.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/RESTResourcePostProcessors
Description
        If specified, this is a list of code snippets that are used to
        postprocess the retrieved results, which are then returned as
        the REST response instead of the retrieved data.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/RESTResourceFactories
Description
        A list of Factories, for which a REST resource is created.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/RESTResourceInterface
Description
        If true, a REST resource for instances of this class is created.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/RESTResourcePath
Description
        The base path used to serve the REST resources.
        Used as prefix in the "Path" annotation of the
        resource class methods.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/RegisterAsRESTResource
Description
        A list of REST resources which is to be registered.
      
Applies to
▸ Model level: ☐ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/ApplicationClient
Description
        If true, a
        JavaClass 
ApplicationClient
        is created for this core class, to be used e.g. from
        within REST or SOAP clients.
      Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/ApplicationClientRealm
Description
        All application client classes within the same realm share the same application
        client instance pool, and therefore share sessions, client identifiers etc.
      
        If provided, this string is used as the realm identifier. If not, the
        default is the full class path, including package name and class name,
        and therefore is unique for that specific class.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/Services
Description
        A list of service names for which a service adapter is created for this core class.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/InteractionStatePolicy
Description
        Determines how state is handled in and between service calls. Besides
        the extremes of 'traditional everything on server' and 'nowaday modern
        alledgedly restful all state permanently transfered' this parameter
        provides finegrained control over differentiated variants.
      
        For possible values, see
        For valid values see JavaClass 
InteractionStatePolicy.
      Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/ServiceInstanceProvision
Description
        Determines how service instances are actually provided, in case of
        such provision has been determined to be necessary, depending upon
        the interaction state policy.
      
        Default is to create a new instance of the service class. For
        singletons this defaults to retrieval of the single instance.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ pattern ends ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/Visibility
Description
       A list of ids of Services, which will contain 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/XMServices/Retrievability
Description
        Code, that determines dynamically whether this attribute is presently retrieveable
        in the service interface, i.e. whether it is contained in the response or can
        be retrieved.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/Changeability
Description
        Code, that determines dynamically whether this attribute is presently changeable
        in the service interface, i.e. whether it can be modified by current requests.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☑ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/DefaultValue
Description
        If provided, and if there is no value passed to a changeable attribute,
        this value is assigned to this attribute before invoking an operation.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/InvocationResult
Description
        Defines what is returned from a service method invocation; either the service
        instance or the return value of the method can be choosen from, or a combination
        of both.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☑ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/InvocationResultName
Description
        If the XMServices/InvocationResult
        specifies to return the method return value, this value can be optionally wrapped into
        a field, if this property defines a respective name.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☑ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/InvocationResultToResponceStatusCode
Description
        If the XMServices/InvocationResult
        specifies to return the method return value, this value can be used to obtain the response
        status code of the service invocation (HTTP Status Codes)
        from. How to extract this code from the invocation result is specified by this property.
      
        In case XMServices/InvocationResult
        specifies "Execution" (i.e. the method's return value is an instance of "Execution" and
        that this return value is used to determine the result), the response status code is
        determined automatically from the execution, so it is not necessary to use this
        property. Yet in case it is specified it overrides this default.
      
Applies to
▸ Model level: ☑ logical model ∙ ☐ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☐ attributes ∙ ☑ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/Body
Description
        Code, that is inserted directly into the generated
        service implementations.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☐ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/BeforeGetBody
Description
        Code, that is inserted in automatically generated get methods in
        service classes before the actual value is retrieved. If defined on
        class level, the code is inserted in a general get method for the
        whole instance (e.g., a REST GET on the instance), before any
        member of the AD instance is accessed.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/AfterGetBody
Description
        Code, that is inserted in automatically generated get methods in
        service classes after the actual value has been retrieved,
        immediately before it is returned. If defined on class level, the code
        is inserted in a general get method for the whole instance (e.g., a
        REST GET on the instance), after all members of the AD instance have
        been retrieved, immediately before the complete result is returned.
      
        This code has access to a local variable named "result", which is
        assigned the value to be returned.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☑ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    //Artefact:ModelAttribute/com/sphenon/modelling/xmodel/XMServices/BeforeInvokeBody
Description
        Code, that is inserted in automatically generated invoke methods in
        service classes before the actual 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/XMServices/AfterInvokeBody
Description
        Code, that is inserted in automatically generated invoke methods in
        service classes after the actual operation has been executed,
        immediately before it returns.
      
Applies to
▸ Model level: ☑ logical model ∙ ☑ technical model
▸ Model elements: ☐ packages ∙ ☐ classes ∙ ☑ attributes ∙ ☐ operations ∙ ☐ association ends ∙ ☐ states
    
    
