Class ThingType

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

@NonNullByDefault public class ThingType extends AbstractDescriptionType
The ThingType describes a concrete type of 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 Details

    • 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)
    • getProperties

      public Map<String,String> getProperties()
      Returns the properties for this ThingType
      Returns:
      the properties for this ThingType (not 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getExtensibleChannelTypeIds

      public List<String> getExtensibleChannelTypeIds()