ist.palcom.palbox
Class PalBoxDevice

java.lang.Object
  extended by ist.palcom.device.AbstractDevice
      extended by ist.palcom.device.AbstractUDPDevice
          extended by ist.palcom.palbox.PalBoxDevice
All Implemented Interfaces:
java.lang.Runnable

public class PalBoxDevice
extends AbstractUDPDevice

A simple Palcom device class used as a platform for launching assemblies and services.


Field Summary
protected  DeviceAndServiceListener dsl
           
 
Fields inherited from class ist.palcom.device.AbstractDevice
context, scheduler
 
Constructor Summary
PalBoxDevice(java.lang.String name, DeviceAndServiceListener dsl)
           
 
Method Summary
protected  DeviceContext createDeviceContext(DeviceID deviceID, PalcomScheduler scheduler)
          Creates the DeviceContext of the device.
 void doRediscover()
           
 void doRequestConnection(ConnectionInfo info)
           
 void doRequestDisconnection(ConnectionInfo info)
           
 java.lang.Object[] getAssemblyVersionsFromFile(java.io.File assemblyFile)
           
protected  PalcomPriorityThread getGUIHandlerThread()
           
 LinearMap getLoadedAssembliesLabels()
           
protected  java.lang.Object[] getSoftwareComponentCandidates()
           
 void initDevice()
          Initialize the device.
 boolean loadAssembly(java.io.File assemblyFile, java.lang.String assemblyVersion)
          Short-cut method to allow loading of assemblies from the "native" user interface of the device
 void loadSoftwareComponent(java.lang.String className, java.lang.String instanceString)
           
static void main(java.lang.String[] args)
           
 void removeAssemblies()
          Short-cut method to allow unloading of assemblies from the "native" user interface of the device
 void scheduleThread(PalcomThread t)
           
 void stopDevice()
          Stop the device.
 void unloadAllSoftwareComponents()
           
 void unloadSoftwareComponent(java.lang.String className, java.lang.String instanceString)
           
 
Methods inherited from class ist.palcom.device.AbstractDevice
getDeviceContext, getDeviceInfo, getName, getRootPath, run, safePutEvent, setHeartBeatPeriod, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dsl

protected DeviceAndServiceListener dsl
Constructor Detail

PalBoxDevice

public PalBoxDevice(java.lang.String name,
                    DeviceAndServiceListener dsl)
             throws java.io.IOException
Parameters:
name -
Throws:
java.io.IOException
Method Detail

main

public static void main(java.lang.String[] args)

createDeviceContext

protected DeviceContext createDeviceContext(DeviceID deviceID,
                                            PalcomScheduler scheduler)
Description copied from class: AbstractDevice
Creates the DeviceContext of the device. This method has to be implemented in a concrete subclass.

Overrides:
createDeviceContext in class AbstractUDPDevice
Parameters:
deviceID - The device ID.
scheduler - The scheduler.
Returns:
The DeviceContext

doRequestConnection

public void doRequestConnection(ConnectionInfo info)

doRequestDisconnection

public void doRequestDisconnection(ConnectionInfo info)

doRediscover

public void doRediscover()

getGUIHandlerThread

protected PalcomPriorityThread getGUIHandlerThread()

initDevice

public void initDevice()
                throws java.io.IOException
Description copied from class: AbstractDevice
Initialize the device. Called from a PalcomThread. Here the actual setup is done. Subclasses override this method, and call super.initDevice from there.

Overrides:
initDevice in class AbstractDevice
Throws:
java.io.IOException

stopDevice

public void stopDevice()
                throws java.io.IOException
Description copied from class: AbstractDevice
Stop the device. Called from a PalcomThread. Here the actual cleanup is done. Subclasses override this method, and call super.stopDevice from there.

Overrides:
stopDevice in class AbstractDevice
Throws:
java.io.IOException

scheduleThread

public void scheduleThread(PalcomThread t)

loadSoftwareComponent

public void loadSoftwareComponent(java.lang.String className,
                                  java.lang.String instanceString)

unloadSoftwareComponent

public void unloadSoftwareComponent(java.lang.String className,
                                    java.lang.String instanceString)

unloadAllSoftwareComponents

public void unloadAllSoftwareComponents()

getSoftwareComponentCandidates

protected java.lang.Object[] getSoftwareComponentCandidates()

getAssemblyVersionsFromFile

public java.lang.Object[] getAssemblyVersionsFromFile(java.io.File assemblyFile)

loadAssembly

public boolean loadAssembly(java.io.File assemblyFile,
                            java.lang.String assemblyVersion)
Short-cut method to allow loading of assemblies from the "native" user interface of the device


removeAssemblies

public void removeAssemblies()
Short-cut method to allow unloading of assemblies from the "native" user interface of the device


getLoadedAssembliesLabels

public LinearMap getLoadedAssembliesLabels()