ioio.lib.api
Class IOIOFactory

java.lang.Object
  extended by ioio.lib.api.IOIOFactory

public class IOIOFactory
extends java.lang.Object

Factory class for creating instances of the IOIO interface.

This class acts as the single entry-point to the IOIO API. It creates the bootstrapping between a specific implementation of the IOIO interface and any dependencies it might have, such as the underlying connection logic.

Typical usage:

 IOIO ioio = IOIOFactory.create();
 try {
   ioio.waitForConnect();
   ...
   ioio.disconnect();
 } catch (ConnectionLostException e) {
 } finally {
   ioio.waitForDisconnect();
 }
 


Field Summary
static int IOIO_PORT
          The TCP port used for communicating with the IOIO board.
 
Constructor Summary
IOIOFactory()
           
 
Method Summary
static IOIO create()
          Create a IOIO instance.
static IOIO create(IOIOConnection connection)
           
static IOIO create(java.lang.String connectionClassName, java.lang.Object... args)
          Create a IOIO instance with a user-provided underlying connection class.
static IOIOConnection createConnectionDynamically(java.lang.String connectionClassName, java.lang.Object... args)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IOIO_PORT

public static final int IOIO_PORT
The TCP port used for communicating with the IOIO board.

See Also:
Constant Field Values
Constructor Detail

IOIOFactory

public IOIOFactory()
Method Detail

create

public static IOIO create()
Create a IOIO instance. This specific implementation creates a IOIO instance which works with the actual IOIO board connected via a TCP connection (typically over a wired USB connection).

Returns:
The IOIO instance.

create

public static IOIO create(java.lang.String connectionClassName,
                          java.lang.Object... args)
                   throws java.lang.ClassNotFoundException
Create a IOIO instance with a user-provided underlying connection class. This method should be used for establishing a non-standard connection to the IOIO board.

Parameters:
connectionClassName - The name of the connection class. Must have a public default constructor.
Returns:
The IOIO instance.
Throws:
java.lang.ClassNotFoundException - The given class name was not found.

create

public static IOIO create(IOIOConnection connection)

createConnectionDynamically

public static IOIOConnection createConnectionDynamically(java.lang.String connectionClassName,
                                                         java.lang.Object... args)
                                                  throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException