Module com.pi4j

Interface Platform

All Superinterfaces:
Describable, Extension<Platform>, Identity, com.pi4j.internal.IOCreator, Lifecycle<Platform>, com.pi4j.internal.ProviderAliases, com.pi4j.internal.ProviderProvider
All Known Implementing Classes:
PlatformBase

public interface Platform extends com.pi4j.internal.IOCreator, com.pi4j.internal.ProviderProvider, Extension<Platform>

Platform interface.

Version:
$Id: $Id
Author:
Robert Savage (http://www.savagehomeautomation.com)
  • Method Details

    • priority

      int priority()

      The priority in which platforms must be handled. This will be used to determine which one to use if multiple are provided with the same providers.

      • Negative number: used e.g. for a Mock provider
      • Low number: very unlikely to be used
      • Higher number: very likely to be used
      Returns:
      a int.
    • enabled

      boolean enabled(Context context)

      enabled.

      Parameters:
      context - a Context object.
      Returns:
      a boolean.
    • providers

      Map<IOType,Provider> providers()

      providers.

      Returns:
      a Map object.
    • provider

      default <T extends Provider> T provider(Class<T> providerClass) throws ProviderNotFoundException, ProviderInterfaceException

      provider.

      Specified by:
      provider in interface com.pi4j.internal.ProviderProvider
      Type Parameters:
      T - a T object.
      Parameters:
      providerClass - a Class object.
      Returns:
      a T object.
      Throws:
      ProviderNotFoundException - if any.
      ProviderInterfaceException - if any.
    • provider

      default <T extends Provider> T provider(IOType ioType) throws ProviderNotFoundException

      provider.

      Specified by:
      provider in interface com.pi4j.internal.ProviderAliases
      Specified by:
      provider in interface com.pi4j.internal.ProviderProvider
      Type Parameters:
      T - a T object.
      Parameters:
      ioType - a IOType object.
      Returns:
      a T object.
      Throws:
      ProviderNotFoundException - if the provider specified by ioType can not be found.
    • provider

      default <T extends Provider> T provider(String providerId, Class<T> providerClass) throws ProviderNotFoundException

      provider.

      Specified by:
      provider in interface com.pi4j.internal.ProviderProvider
      Type Parameters:
      T - the provider type
      Parameters:
      providerId - a String object.
      providerClass - a T object.
      Returns:
      a T object.
      Throws:
      ProviderNotFoundException - if any.
    • provider

      default <T extends Provider> T provider(String providerId) throws ProviderNotFoundException

      provider.

      Specified by:
      provider in interface com.pi4j.internal.ProviderProvider
      Type Parameters:
      T - a T object.
      Parameters:
      providerId - a String object.
      Returns:
      a T object.
      Throws:
      ProviderNotFoundException - if any.
    • hasProvider

      default boolean hasProvider(String providerId)

      hasProvider.

      Specified by:
      hasProvider in interface com.pi4j.internal.ProviderProvider
      Parameters:
      providerId - a String object.
      Returns:
      a boolean.
    • hasProvider

      default <T extends Provider> boolean hasProvider(Class<T> providerClass)

      hasProvider.

      Specified by:
      hasProvider in interface com.pi4j.internal.ProviderProvider
      Type Parameters:
      T - a T object.
      Parameters:
      providerClass - a Class object.
      Returns:
      a boolean.
    • hasProvider

      default <T extends Provider> boolean hasProvider(IOType ioType)

      hasProvider.

      Specified by:
      hasProvider in interface com.pi4j.internal.ProviderProvider
      Type Parameters:
      T - a T object.
      Parameters:
      ioType - a IOType object.
      Returns:
      a boolean.
    • create

      <I extends IO> I create(IOConfig config, IOType ioType)
      Specified by:
      create in interface com.pi4j.internal.IOCreator
    • create

      <T extends IO> T create(String id)
      Specified by:
      create in interface com.pi4j.internal.IOCreator
    • create

      <T extends IO> T create(String id, IOType ioType)
      Specified by:
      create in interface com.pi4j.internal.IOCreator
    • describe

      default Descriptor describe()

      describe.

      Specified by:
      describe in interface Describable
      Specified by:
      describe in interface Extension<Platform>
      Specified by:
      describe in interface Identity
      Returns:
      a Descriptor object.