All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bidib.wizard.api.model.PortsProvider Maven / Gradle / Ivy

The newest version!
package org.bidib.wizard.api.model;

import java.util.List;

import org.bidib.jbidibc.messages.enums.PortType;
import org.bidib.wizard.model.ports.AnalogPort;
import org.bidib.wizard.model.ports.BacklightPort;
import org.bidib.wizard.model.ports.FeedbackPort;
import org.bidib.wizard.model.ports.GenericPort;
import org.bidib.wizard.model.ports.InputPort;
import org.bidib.wizard.model.ports.LightPort;
import org.bidib.wizard.model.ports.MotorPort;
import org.bidib.wizard.model.ports.Port;
import org.bidib.wizard.model.ports.ServoPort;
import org.bidib.wizard.model.ports.SoundPort;
import org.bidib.wizard.model.ports.SwitchPairPort;
import org.bidib.wizard.model.ports.SwitchPort;

public interface PortsProvider {

    /**
     * @return returns the list of analog ports
     */
    List getAnalogPorts();

    /**
     * @return returns the list of feedback ports
     */
    List getFeedbackPorts();

    /**
     * @return returns the list of flags
     */
    List getFlags();

    /**
     * @return returns the list of enabled input ports
     */
    List getEnabledInputPorts();

    /**
     * @return returns the list of input ports
     */
    List getInputPorts();

    /**
     * @return returns the list of light ports
     */
    List getLightPorts();

    /**
     * @return returns the list of input ports
     */
    List getEnabledLightPorts();

    /**
     * @return returns the list of backlight ports
     */
    List getBacklightPorts();

    /**
     * @return returns the list of motor ports
     */
    List getMotorPorts();

    /**
     * @return returns the list of servo ports
     */
    List getServoPorts();

    /**
     * @return returns the list of enabled sound ports
     */
    List getEnabledSoundPorts();

    /**
     * @return returns the list of sound ports
     */
    List getSoundPorts();

    /**
     * @return returns the list of enabled switch ports
     */
    List getEnabledSwitchPorts();

    /**
     * @return returns the list of enabled switchPair ports
     */
    List getEnabledSwitchPairPorts();

    /**
     * @return returns the list of switch ports
     */
    List getSwitchPorts();

    /**
     * @return returns the list of switchPair ports
     */
    List getSwitchPairPorts();

    /**
     * @return returns the list of macros
     */
    List getMacros();

    /**
     * @return the list of accessories
     */
    List getAccessories();

    /**
     * @return {@code true} the node supports the flat port model, {@code false} the node supports the type-oriented
     *         model
     */
    boolean isFlatPortModel();

    /**
     * @return returns the list of generic ports
     */
    List getGenericPorts();

    /**
     * @return returns the list of ports
     */
    List> getPorts();

    /**
     * Get the ports of the provided port type.
     * 
     * @param portType
     *            the port type
     * @return returns the list of ports
     */
    > List getPorts(final PortType portType);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy