Class AbstractMappingType

  • All Implemented Interfaces:
    Containerable, DebugDumpable, Serializable, Cloneable
    Direct Known Subclasses:
    MappingType, MetadataMappingType

    public class AbstractMappingType
    extends Object
    implements Serializable, Cloneable, Containerable
    Defines how a value of a property (or attribute) should be constructed. The value may be static or constructed as an result of evaluating an expression. This structure also defines a method how to merge several value construction definitions, how to behave if a property already has a value, etc. This is reusable data structure, used in schemaHandling, roles and it may also be used in may other places. Motivation: We need to construct attribute or property values on many places in midPoint. E.g. we need that in roles to generate dynamic account attribute values, we need that to define "templates" for identifiers and default values for attributes when creating a new account. We also need that to specify values when creating a new user (user templates). Having the same data structure for all of these cases may simplify the code, as it all can be handled by a generic library reused in many places through the system.

    Java class for AbstractMappingType complex type.

    The following schema fragment specifies the expected content contained within this class.

     <complexType name="AbstractMappingType">
       <complexContent>
         <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
           <sequence>
             <element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
             <element ref="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}description" minOccurs="0"/>
             <element ref="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}documentation" minOccurs="0"/>
             <element ref="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}extension" minOccurs="0"/>
             <element name="trace" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
             <element name="authoritative" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
             <element name="exclusive" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
             <element name="strength" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}MappingStrengthType" minOccurs="0"/>
             <element name="channel" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded" minOccurs="0"/>
             <element name="exceptChannel" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded" minOccurs="0"/>
             <element name="timeFrom" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}MappingTimeDeclarationType" minOccurs="0"/>
             <element name="timeTo" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}MappingTimeDeclarationType" minOccurs="0"/>
             <element name="source" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}VariableBindingDefinitionType" maxOccurs="unbounded" minOccurs="0"/>
             <element name="expression" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}ExpressionType" minOccurs="0"/>
             <element name="target" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}VariableBindingDefinitionType" minOccurs="0"/>
             <element name="condition" type="{http://midpoint.evolveum.com/xml/ns/public/common/common-3}ExpressionType" minOccurs="0"/>
             <element name="enabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
           </sequence>
           <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}long" />
         </restriction>
       </complexContent>
     </complexType>
     
    See Also:
    Serialized Form