Class VersionComplianceVisitor<T>

  • Type Parameters:
    T - The type of object whose compliance must be checked.
    All Implemented Interfaces:
    ISlotVisitor<T>

    public class VersionComplianceVisitor<T>
    extends SlotVisitorBase<T>
    Helper visitor to determine the minimum version of the SSSOM specification is required by a mapping or a mapping set.
    • Constructor Detail

      • VersionComplianceVisitor

        public VersionComplianceVisitor()
        Creates a new instance.

        When using this constructor, use getVersion() to get the minimum version required by a set or a mapping, after visiting the slots.

      • VersionComplianceVisitor

        public VersionComplianceVisitor​(Set<Version> versions)
        Creates a new instance.

        Use this constructor to share the set of visited versions across visitors (e.g., between a visitor for mapping sets and a visitor for mappings).

        Parameters:
        versions - The set that will hold the accumulated version objects.
    • Method Detail

      • getVersion

        public Version getVersion()
        Gets the minimum version required, according to the slots visited so far.
        Returns:
        Gets the version that defines all slots and all values in the slots that have been visited up to that point.
      • visit

        public void visit​(Slot<T> slot,
                          T object,
                          Object unused)
        Description copied from interface: ISlotVisitor
        Visits a generic slot.

        This method is normally not used as all slots in a SSSOM object have more precise types. But it can be used to implement behaviours that should be common to several slot types.

        Specified by:
        visit in interface ISlotVisitor<T>
        Overrides:
        visit in class SlotVisitorBase<T>
        Parameters:
        slot - The slot that is being visited.
        object - The object to which the slot is attached.
        unused - The value of the slot.
      • visit

        public void visit​(EntityTypeSlot<T> slot,
                          T object,
                          EntityType value)
        Description copied from interface: ISlotVisitor
        Visits a slot that holds an entity type enumeration value.
        Specified by:
        visit in interface ISlotVisitor<T>
        Overrides:
        visit in class SlotVisitorBase<T>
        Parameters:
        slot - The slot that is being visited.
        object - The object to which the slot is attached.
        value - The value of the slot.
      • visit

        public void visit​(VersionSlot<T> slot,
                          T object,
                          Version unused)
        Description copied from interface: ISlotVisitor
        Visits a slot that holds a SSSOM version value.
        Specified by:
        visit in interface ISlotVisitor<T>
        Overrides:
        visit in class SlotVisitorBase<T>
        Parameters:
        slot - The slot that is being visited.
        object - The object to which the slot is attached.
        unused - The value of the slot.