Class Slot<T>

    • Method Detail

      • getName

        public String getName()
        Gets the name of the slot as it appears in the SSSOM specification (e.g., mapping_justification, subject_id, etc.).
        Returns:
        The slot name as per the SSSOM specification, independently of the implementation.
      • getURI

        public String getURI()
        Gets the URI of the slot.

        For most slots, this is simply the slot’s name appended to the SSSOM IRI prefix (e.g. https://w3id.org/sssom/subject_label), but some slots use a URI borrowed from another specification instead (for example, the URI for the creator_id is http://purl.org/dc/terms/creator).

        Returns:
        The URI associated with the slot.
      • isEntityReference

        public boolean isEntityReference()
        Indicates whether the slot is intended to hold an entity reference. Entity references are represented as strings but need to be treated differently.
        Returns:
        true is the slot is intended to hold an entity reference, otherwise false.
      • isPropagatable

        public boolean isPropagatable()
        Indicates whether the slot is a "propagatable slot".
        Returns:
        true if the slot can be propagated, otherwise false.
      • isURI

        public boolean isURI()
        Indicates whether the slot is expected to contain a URI.
        Returns:
        true if the slot is defined as having a URI range, otherwise false.
      • getCompliantVersion

        public Version getCompliantVersion()
        Gets the earliest version of the SSSOM specification this slot is compatible with. This is the version in which the slot was first introduced.
        Returns:
        The earliest compatible SSSOM version.
      • getType

        public Class<?> getType()
        Gets the underlying Java type for the slot.
        Returns:
        The Java data type used to store the slot's data.
      • accept

        public void accept​(ISlotVisitor<T> visitor,
                           T target,
                           Object value)
        Accepts a visitor.
        Parameters:
        visitor - The visitor to accept.
        target - The object this slot is attached to.
        value - The value of the slot.
      • accept

        public <V> V accept​(ISimpleSlotVisitor<T,​V> visitor,
                            T target,
                            Object value)
        Accepts a simple visitor. A “simple” visitor is one that does not distinguish between the different types of slots, i.e. the same method is used to visit all slots.
        Type Parameters:
        V - The type of object returned by the visitor.
        Parameters:
        visitor - The visitor to accept.
        target - The object this slot is attached to.
        value - The value of the slot.
        Returns:
        The valued returned by the visitor.
      • getValue

        public Object getValue​(T object)
        Gets the value of the slot for a given object.
        Parameters:
        object - The object (e.g. a mapping or a mapping set) from which to retrieve the value.
        Returns:
        The value of the slot in that object.
      • setValue

        public void setValue​(T object,
                             Object value)
        Sets the value of the slot for a given object.
        Parameters:
        object - The object (e.g. a mapping or a mapping set) for which the slot should be set.
        value - The value to assign to the slot on the given object.
      • setValue

        public void setValue​(T object,
                             String value)
        Tries setting the value of the slot for a given object, using a string as input.

        This method only works for String-typed slots, but classes for other slot types can override it to allow parsing a string into another type of value.

        Parameters:
        object - The object (e.g. a mapping or a mapping set) for which the slot should be set.
        value - The value to assign to the slot on the given object.
        Throws:
        UnsupportedOperationException - When this method is called on a slot that is not string-typed.