Record Class InboundMappingContextSpecification

java.lang.Object
java.lang.Record
com.evolveum.midpoint.model.impl.lens.projector.focus.inbounds.prep.InboundMappingContextSpecification
Record Components:
typeIdentification - For what object type we evaluate the mappings. Note that we are interested in the "top-level" type here: even if we are technically evaluating a mapping for `association/xyz` object type, we are interested in the type of (e.g.) `account/default` in which the association resides. Should be non-null in reasonable cases; only for really broken (unclassified, or without-resource) LensProjectionContexts it may be null. See the typology of projection contexts in ProjectionContextKey.
associationTypeName - If the mapping is defined and evaluated in the context of an association, this is the name of the association. Whether it should be present also for inner-level mappings defined e.g. as part of AssociationSynchronizationExpressionEvaluatorType, is currently an open question.
shadowTag - If the mapping is evaluated in the context of a multi-account resource, this is the shadow tag.
All Implemented Interfaces:
Serializable

public record InboundMappingContextSpecification(@Nullable ResourceObjectTypeIdentification typeIdentification, @Nullable QName associationTypeName, @Nullable String shadowTag) extends Record implements Serializable
Background information for value provenance metadata (MappingSpecificationType) for inbound mappings. In other words, it describes the context in which inbound mappings are evaluated: object type, association type, shadow tag.
See Also:
  • Constructor Details

    • InboundMappingContextSpecification

      public InboundMappingContextSpecification(@Nullable @Nullable ResourceObjectTypeIdentification typeIdentification, @Nullable @Nullable QName associationTypeName, @Nullable @Nullable String shadowTag)
      Creates an instance of a InboundMappingContextSpecification record class.
      Parameters:
      typeIdentification - the value for the typeIdentification record component
      associationTypeName - the value for the associationTypeName record component
      shadowTag - the value for the shadowTag record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • typeIdentification

      @Nullable public @Nullable ResourceObjectTypeIdentification typeIdentification()
      Returns the value of the typeIdentification record component.
      Returns:
      the value of the typeIdentification record component
    • associationTypeName

      @Nullable public @Nullable QName associationTypeName()
      Returns the value of the associationTypeName record component.
      Returns:
      the value of the associationTypeName record component
    • shadowTag

      @Nullable public @Nullable String shadowTag()
      Returns the value of the shadowTag record component.
      Returns:
      the value of the shadowTag record component