GpioControllerImpl implements GpioController { @Override public GpioPin provisionPin(GpioProvider provider, Pin pin, PinMode mode) { return provisionPin(provider, pin, pin.getName(), mode); } GpioControllerImpl();  GpioControllerImpl(GpioProvider provider); @Override Collection<GpioPin> getProvisionedPins(); @Override GpioPin getProvisionedPin(Pin pin); @Override GpioPin getProvisionedPin(String name); @Override void unexportAll(); @Override void export(PinMode mode, GpioPin... pin); @Override void export(PinMode mode, PinState defaultState, GpioPin... pin); @Override boolean isExported(GpioPin... pin); @Override void unexport(GpioPin... pin); @Override void unexport(Pin... pin); @Override PinMode getMode(GpioPin pin); @Override boolean isMode(PinMode mode, GpioPin... pin); @Override void setMode(PinMode mode, GpioPin... pin); @Override void setPullResistance(PinPullResistance resistance, GpioPin... pin); @Override PinPullResistance getPullResistance(GpioPin pin); @Override boolean isPullResistance(PinPullResistance resistance, GpioPin... pin); @Override void high(GpioPinDigitalOutput... pin); @Override void low(GpioPinDigitalOutput... pin); @Override boolean isHigh(GpioPinDigital... pin); @Override boolean isLow(GpioPinDigital... pin); @Override void toggle(GpioPinDigitalOutput... pin); @Override void pulse(long milliseconds, GpioPinDigitalOutput... pin); @Override void setState(PinState state, GpioPinDigitalOutput... pin); @Override void setState(boolean state, GpioPinDigitalOutput... pin); @Override PinState getState(GpioPinDigital pin); @Override boolean isState(PinState state, GpioPinDigital... pin); @Override void setValue(double value, GpioPinAnalogOutput... pin); @Override double getValue(GpioPinAnalog pin); @Override synchronized void addListener(GpioPinListener listener, GpioPinInput... pin); @Override synchronized void addListener(GpioPinListener[] listeners, GpioPinInput... pin); @Override synchronized void removeListener(GpioPinListener listener, GpioPinInput... pin); @Override synchronized void removeListener(GpioPinListener[] listeners, GpioPinInput... pin); @Override synchronized void removeAllListeners(); @Override synchronized void addTrigger(GpioTrigger trigger, GpioPinInput... pin); @Override synchronized void addTrigger(GpioTrigger[] triggers, GpioPinInput... pin); @Override synchronized void removeTrigger(GpioTrigger trigger, GpioPinInput... pin); @Override synchronized void removeTrigger(GpioTrigger[] triggers, GpioPinInput... pin); @Override synchronized void removeAllTriggers(); @Override GpioPin provisionPin(GpioProvider provider, Pin pin, PinMode mode); @Override GpioPin provisionPin(GpioProvider provider, Pin pin, String name, PinMode mode); @Override GpioPin provisionPin(GpioProvider provider, Pin pin, String name, PinMode mode, PinState defaultState); @Override GpioPin provisionPin(Pin pin, String name, PinMode mode); @Override GpioPin provisionPin(Pin pin, PinMode mode); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(GpioProvider provider, Pin pin, String name, PinMode mode); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(GpioProvider provider, Pin pin, PinMode mode); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(Pin pin, String name, PinMode mode); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(Pin pin, PinMode mode); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(GpioProvider provider, Pin pin, PinMode mode, PinPullResistance resistance); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(GpioProvider provider, Pin pin, String name, PinMode mode, PinPullResistance resistance); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(Pin pin, String name, PinMode mode, PinPullResistance resistance); @Override GpioPinDigitalMultipurpose provisionDigitalMultipurposePin(Pin pin, PinMode mode, PinPullResistance resistance); @Override GpioPinDigitalInput provisionDigitalInputPin(GpioProvider provider, Pin pin, String name); @Override GpioPinDigitalInput provisionDigitalInputPin(GpioProvider provider, Pin pin); @Override GpioPinDigitalInput provisionDigitalInputPin(Pin pin, String name); @Override GpioPinDigitalInput provisionDigitalInputPin(Pin pin); @Override GpioPinDigitalInput provisionDigitalInputPin(GpioProvider provider, Pin pin, PinPullResistance resistance); @Override GpioPinDigitalInput provisionDigitalInputPin(GpioProvider provider, Pin pin, String name, PinPullResistance resistance); @Override GpioPinDigitalInput provisionDigitalInputPin(Pin pin, String name, PinPullResistance resistance); @Override GpioPinDigitalInput provisionDigitalInputPin(Pin pin, PinPullResistance resistance); @Override GpioPinDigitalOutput provisionDigitalOutputPin(GpioProvider provider, Pin pin, String name); @Override GpioPinDigitalOutput provisionDigitalOutputPin(GpioProvider provider, Pin pin); @Override GpioPinDigitalOutput provisionDigitalOutputPin(Pin pin, String name); @Override GpioPinDigitalOutput provisionDigitalOutputPin(Pin pin); @Override GpioPinDigitalOutput provisionDigitalOutputPin(GpioProvider provider, Pin pin, PinState defaultState); @Override GpioPinDigitalOutput provisionDigitalOutputPin(GpioProvider provider, Pin pin, String name, PinState defaultState); @Override GpioPinDigitalOutput provisionDigitalOutputPin(Pin pin, String name, PinState defaultState); @Override GpioPinDigitalOutput provisionDigitalOutputPin(Pin pin, PinState defaultState); @Override GpioPinAnalogInput provisionAnalogInputPin(GpioProvider provider, Pin pin, String name); @Override GpioPinAnalogInput provisionAnalogInputPin(GpioProvider provider, Pin pin); @Override GpioPinAnalogInput provisionAnalogInputPin(Pin pin, String name); @Override GpioPinAnalogInput provisionAnalogInputPin(Pin pin); @Override GpioPinAnalogOutput provisionAnalogOutputPin(GpioProvider provider, Pin pin, String name); @Override GpioPinAnalogOutput provisionAnalogOutputPin(GpioProvider provider, Pin pin); @Override GpioPinAnalogOutput provisionAnalogOutputPin(Pin pin, String name); @Override GpioPinAnalogOutput provisionAnalogOutputPin(Pin pin); @Override GpioPinAnalogOutput provisionAnalogOutputPin(GpioProvider provider, Pin pin, double defaultValue); @Override GpioPinAnalogOutput provisionAnalogOutputPin(GpioProvider provider, Pin pin, String name, double defaultValue); @Override GpioPinAnalogOutput provisionAnalogOutputPin(Pin pin, String name, double defaultValue); @Override GpioPinAnalogOutput provisionAnalogOutputPin(Pin pin, double defaultValue); @Override GpioPinPwmOutput provisionPwmOutputPin(GpioProvider provider, Pin pin, String name); @Override GpioPinPwmOutput provisionPwmOutputPin(GpioProvider provider, Pin pin); @Override GpioPinPwmOutput provisionPwmOutputPin(Pin pin, String name); @Override GpioPinPwmOutput provisionPwmOutputPin(Pin pin); @Override GpioPinPwmOutput provisionPwmOutputPin(GpioProvider provider, Pin pin, int defaultValue); @Override GpioPinPwmOutput provisionPwmOutputPin(GpioProvider provider, Pin pin, String name, int defaultValue); @Override GpioPinPwmOutput provisionPwmOutputPin(Pin pin, String name, int defaultValue); @Override GpioPinPwmOutput provisionPwmOutputPin(Pin pin, int defaultValue); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(GpioProvider provider, Pin pin, String name); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(GpioProvider provider, Pin pin); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(Pin pin, String name); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(Pin pin); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(GpioProvider provider, Pin pin, int defaultValue); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(GpioProvider provider, Pin pin, String name, int defaultValue); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(Pin pin, String name, int defaultValue); @Override GpioPinPwmOutput provisionSoftPwmOutputPin(Pin pin, int defaultValue); @Override void unprovisionPin(GpioPin... pin); void setShutdownOptions(GpioPinShutdown options, GpioPin... pin); void setShutdownOptions(Boolean unexport, GpioPin... pin); void setShutdownOptions(Boolean unexport, PinState state, GpioPin... pin); void setShutdownOptions(Boolean unexport, PinState state, PinPullResistance resistance, GpioPin... pin); void setShutdownOptions(Boolean unexport, PinState state, PinPullResistance resistance, PinMode mode, GpioPin... pin); @Override boolean isShutdown(); @Override synchronized void shutdown();  }
@Test public void testProvisionPin() { GpioController controller = new GpioControllerImpl(); controller.provisionPin(RaspiPin.GPIO_00, PinMode.DIGITAL_OUTPUT); }