Class ThingType

  • All Implemented Interfaces:
    Identifiable<UID>
    Direct Known Subclasses:
    BridgeType

    @NonNullByDefault
    public class ThingType
    extends AbstractDescriptionType
    The ThingType describes a concrete type of a Thing.

    This description is used as template definition for the creation of the according concrete Thing object.

    Hint: This class is immutable.

    Author:
    Michael Grammling - Initial contribution, Dennis Nobel - Initial contribution, Thomas Höfer - Added thing and thing type properties, Simon Kaufmann - Added listed field, Andre Fuechsel - Added representationProperty field, Stefan Triller - Added category field
    • Method Detail

      • getUID

        public ThingTypeUID getUID()
        Returns the unique identifier which identifies this Thing type within the overall system.
        Specified by:
        getUID in interface Identifiable<UID>
        Overrides:
        getUID in class AbstractDescriptionType
        Returns:
        the unique identifier which identifies this Thing type within the overall system
      • getBindingId

        public String getBindingId()
        Returns the binding ID this Thing type belongs to.
        Returns:
        the binding ID this Thing type belongs to (not null)
      • getSupportedBridgeTypeUIDs

        public List<String> getSupportedBridgeTypeUIDs()
        Returns the unique identifiers of the bridges this ThingType supports.

        The returned list is immutable.

        Returns:
        the unique identifiers of the bridges this Thing type supports (not null, could be empty)
      • getChannelDefinitions

        public List<ChannelDefinition> getChannelDefinitions()
        Returns the channels this ThingType provides.

        The returned list is immutable.

        Returns:
        the channels this Thing type provides (not null, could be empty)
      • getChannelGroupDefinitions

        public List<ChannelGroupDefinition> getChannelGroupDefinitions()
        Returns the channel groups defining the channels this ThingType provides.

        The returned list is immutable.

        Returns:
        the channel groups defining the channels this Thing type provides (not null, could be empty)
      • getConfigDescriptionURI

        public @Nullable URI getConfigDescriptionURI()
        Returns the link to a concrete ConfigDescription.
        Returns:
        the link to a concrete ConfigDescription (could be null)
      • getCategory

        public @Nullable String getCategory()
      • isListed

        public boolean isListed()
        Check, if things of this thing type should be listed for manually pairing or not.
        Returns:
        true, if manual pairing is allowed
      • getRepresentationProperty

        public @Nullable String getRepresentationProperty()
        Get the name of the representation property of this thing type. May be {code null}.
        Returns:
        representation property name or null
      • equals

        public boolean equals​(@Nullable Object obj)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getExtensibleChannelTypeIds

        public List<String> getExtensibleChannelTypeIds()