- All Implemented Interfaces:
Describable,Identity,Lifecycle<Platform>,Extension<Platform>,com.pi4j.internal.IOCreator,com.pi4j.internal.ProviderAliases,com.pi4j.internal.ProviderProvider,Platform
public abstract class PlatformBase<PLATFORM extends Platform>
extends ExtensionBase<Platform>
implements Platform
Abstract PlatformBase class.
- Version:
- $Id: $Id
- Author:
- Robert Savage (http://www.savagehomeautomation.com)
-
Field Summary
FieldsFields inherited from class com.pi4j.common.IdentityBase
description, id, metadata, name -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for PlatformBase.PlatformBase(String id) Constructor for PlatformBase.PlatformBase(String id, String name) Constructor for PlatformBase.PlatformBase(String id, String name, String description) Constructor for PlatformBase. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddProvider(Context context, String providerId) addProvider.<I extends IO>
I<T extends IO>
T<T extends IO>
Tabstract booleanenabled.protected abstract String[]Getter for the fieldproviders.initialize(Context context) initialize.abstract intpriority()The priority in which platforms must be handled.<T extends Provider>
Tprovider.providers.shutdown.Methods inherited from class com.pi4j.common.IdentityBase
description, id, metadata, nameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.pi4j.common.Identity
description, getDescription, getId, getMetadata, getName, id, metadata, nameMethods inherited from interface com.pi4j.internal.IOCreator
create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, createMethods inherited from interface com.pi4j.platform.Platform
describe, hasProvider, hasProvider, hasProvider, provider, provider, providerMethods inherited from interface com.pi4j.internal.ProviderAliases
ain, analogInput, analogOutput, aout, digitalInput, digitalOutput, din, dout, getAnalogInputProvider, getAnalogOutputProvider, getDigitalInputProvider, getDigitalOutputProvider, getI2CProvider, getPwmProvider, getSerialProvider, getSpiProvider, i2c, pwm, serial, spiMethods inherited from interface com.pi4j.internal.ProviderProvider
getProvider, getProvider, getProvider, getProvider
-
Field Details
-
context
-
providers
-
logger
protected org.slf4j.Logger logger
-
-
Constructor Details
-
PlatformBase
public PlatformBase()Constructor for PlatformBase.
-
PlatformBase
Constructor for PlatformBase.
- Parameters:
id- aStringobject.
-
PlatformBase
Constructor for PlatformBase.
-
PlatformBase
Constructor for PlatformBase.
-
-
Method Details
-
providers
providers.
-
provider
public <T extends Provider> T provider(Class<T> providerClass) throws ProviderNotFoundException, ProviderInterfaceException provider.
- Specified by:
providerin interfacePlatform- Specified by:
providerin interfacecom.pi4j.internal.ProviderProvider- Type Parameters:
T- a T object.- Parameters:
providerClass- aClassobject.- Returns:
- a T object.
- Throws:
ProviderNotFoundException- if any.ProviderInterfaceException- if any.
-
create
-
create
-
create
-
priority
public abstract 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
-
enabled
enabled.
-
initialize
initialize.
- Specified by:
initializein interfaceLifecycle<PLATFORM extends Platform>- Parameters:
context- aContextobject.- Returns:
- a T object.
- Throws:
InitializeException- if an error occurs during initialization.
-
shutdown
shutdown.
-
getProviders
Getter for the field
providers.- Returns:
- an array of
Stringobjects.
-
addProvider
addProvider.
- Parameters:
context- aContextobject.providerId- aStringobject.- Throws:
ProviderException- if any.
-