com.pi4j.provider.impl.DefaultProviders Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pi4j-core Show documentation
Show all versions of pi4j-core Show documentation
Pi4J Java API & Runtime Library
The newest version!
package com.pi4j.provider.impl;
/*
* #%L
* **********************************************************************
* ORGANIZATION : Pi4J
* PROJECT : Pi4J :: LIBRARY :: Java Library (CORE)
* FILENAME : DefaultProviders.java
*
* This file is part of the Pi4J project. More information about
* this project can be found here: https://pi4j.com/
* **********************************************************************
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import com.pi4j.io.IOType;
import com.pi4j.io.gpio.analog.AnalogInputProvider;
import com.pi4j.io.gpio.analog.AnalogOutputProvider;
import com.pi4j.io.gpio.digital.DigitalInputProvider;
import com.pi4j.io.gpio.digital.DigitalOutputProvider;
import com.pi4j.io.i2c.I2CProvider;
import com.pi4j.io.pwm.PwmProvider;
import com.pi4j.io.serial.SerialProvider;
import com.pi4j.io.spi.SpiProvider;
import com.pi4j.provider.Provider;
import com.pi4j.provider.ProviderGroup;
import com.pi4j.provider.Providers;
import com.pi4j.provider.exception.ProviderNotFoundException;
import java.util.Map;
/**
*
*
*
* @see http://www.pi4j.com/
* @author Robert Savage (http://www.savagehomeautomation.com)
* @version $Id: $Id
*/
public class DefaultProviders implements Providers {
private RuntimeProviders providers = null;
/**
* newInstance.
*
* @param providers a {@link com.pi4j.provider.impl.RuntimeProviders} object.
* @return a {@link com.pi4j.provider.Providers} object.
*/
public static Providers newInstance(RuntimeProviders providers){
return new DefaultProviders(providers);
}
// private constructor
private DefaultProviders(RuntimeProviders providers) {
// set local reference
this.providers = providers;
}
/** {@inheritDoc} */
@Override
public ProviderGroup analogInput() {
return providers.analogInput();
}
/** {@inheritDoc} */
@Override
public ProviderGroup analogOutput() {
return providers.analogOutput();
}
/** {@inheritDoc} */
@Override
public ProviderGroup digitalInput() {
return providers.digitalInput();
}
/** {@inheritDoc} */
@Override
public ProviderGroup digitalOutput() {
return providers.digitalOutput();
}
/** {@inheritDoc} */
@Override
public ProviderGroup pwm() {
return providers.pwm();
}
/** {@inheritDoc} */
@Override
public ProviderGroup spi() {
return providers.spi();
}
/** {@inheritDoc} */
@Override
public ProviderGroup i2c() {
return providers.i2c();
}
/** {@inheritDoc} */
@Override
public ProviderGroup serial() {
return providers.serial();
}
/** {@inheritDoc} */
@Override
public Map all() {
return providers.all();
}
/** {@inheritDoc} */
@Override
public Map all(Class providerClass) throws ProviderNotFoundException {
return providers.all(providerClass);
}
/** {@inheritDoc} */
@Override
public Map all(IOType ioType) throws ProviderNotFoundException {
return providers.all(ioType);
}
/** {@inheritDoc} */
@Override
public boolean exists(String providerId) {
return providers.exists(providerId);
}
/** {@inheritDoc} */
@Override
public T get(String providerId) throws ProviderNotFoundException {
return providers.get(providerId);
}
}