jaugment2.battery
Class BatteryService

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--jaugment2.jini.simpleService.simpleService
                          |
                          +--jaugment2.battery.BatteryService

public class BatteryService
extends simpleService
implements java.rmi.Remote, LookupEventListener

Service providing battery-status-information using a command-line-program

See Also:
Serialized Form

Inner Class Summary
static class BatteryService.BatteryServiceEvent
          Class for events thrown here
 
Inner classes inherited from class jaugment2.jini.simpleService.simpleService
simpleService.myServiceIDListener
 
Field Summary
private static boolean debugMessages
           
private  SimpleLandlord landLord
           
private  java.lang.String lastmsg
           
(package private)  float lastWarningAtLevel
           
private  java.util.LinkedList[] listenerRegistrations
           
private  BatteryServiceProxy myproxy
           
private  java.util.Hashtable serviceID2Ticker
           
private  SimpleLandlord.LeaseListener simpleLeaselistener
          Helper-class for our Landlord.
 
Fields inherited from class jaugment2.jini.simpleService.simpleService
bindings, fallback_attrSets, jmngr, ldm, lrm, persistentState, proxy, sid, simpleservicedebugMessages
 
Fields inherited from class java.rmi.server.UnicastRemoteObject
csf, port, portFactoryParamTypes, portParamTypes, serialVersionUID, ssf
 
Fields inherited from class java.rmi.server.RemoteServer
log, logname, serialVersionUID
 
Fields inherited from class java.rmi.server.RemoteObject
ref, serialVersionUID
 
Constructor Summary
BatteryService()
           
BatteryService(net.jini.core.discovery.LookupLocator locallocator)
           
 
Method Summary
 net.jini.core.lease.Lease addListener(net.jini.core.event.RemoteEventListener listener, java.rmi.MarshalledObject handback, int registerfor)
          Subscribe for events
 void destroy()
          stop this service, destroy any persistent storage and exit
private  void fireEvent(int type, float level)
           
 float getLevel()
           
private  void loadMe()
          Load our state (e.g.
 void restart()
          restart this service once it has been stopped
 void ServiceChangedEvent(LookupEventEvent e)
           
 void ServiceFoundEvent(LookupEventEvent e)
           
 void ServiceGoneEvent(LookupEventEvent e)
           
 void stop(boolean exit)
          stop this service.
 
Methods inherited from class jaugment2.jini.simpleService.simpleService
, deinit, deinitBindings, finalize, getProxy, getServiceItem, getStorageLocation, init, initBindings, initBindings, load, save, setStorageLocation
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, exportObject, readObject, reexport, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub, writeObject
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

debugMessages

private static final boolean debugMessages

myproxy

private BatteryServiceProxy myproxy

lastmsg

private java.lang.String lastmsg

listenerRegistrations

private java.util.LinkedList[] listenerRegistrations

simpleLeaselistener

private SimpleLandlord.LeaseListener simpleLeaselistener
Helper-class for our Landlord.

landLord

private SimpleLandlord landLord

lastWarningAtLevel

float lastWarningAtLevel

serviceID2Ticker

private java.util.Hashtable serviceID2Ticker
Constructor Detail

BatteryService

public BatteryService()
               throws java.rmi.RemoteException

BatteryService

public BatteryService(net.jini.core.discovery.LookupLocator locallocator)
               throws java.rmi.RemoteException
Method Detail

loadMe

private void loadMe()
Load our state (e.g. attrubutes, service-id) from persistent storage

restart

public void restart()
             throws java.lang.Exception
restart this service once it has been stopped
Overrides:
restart in class simpleService
See Also:
stop

stop

public void stop(boolean exit)
          throws java.lang.Exception
stop this service. If exit is false all references to this service are still valid but it has deregistered everywhere. (this includes the RMI-activation-daemon)
Overrides:
stop in class simpleService
Parameters:
exit - stop running
See Also:
restart, destroy

destroy

public void destroy()
             throws java.rmi.RemoteException
stop this service, destroy any persistent storage and exit
Overrides:
destroy in class simpleService

fireEvent

private void fireEvent(int type,
                       float level)

addListener

public net.jini.core.lease.Lease addListener(net.jini.core.event.RemoteEventListener listener,
                                             java.rmi.MarshalledObject handback,
                                             int registerfor)
                                      throws java.rmi.RemoteException,
                                             net.jini.core.lease.LeaseDeniedException,
                                             java.lang.IllegalStateException
Subscribe for events

getLevel

public float getLevel()
               throws java.rmi.RemoteException

ServiceFoundEvent

public void ServiceFoundEvent(LookupEventEvent e)
Specified by:
ServiceFoundEvent in interface LookupEventListener

ServiceGoneEvent

public void ServiceGoneEvent(LookupEventEvent e)
Specified by:
ServiceGoneEvent in interface LookupEventListener

ServiceChangedEvent

public void ServiceChangedEvent(LookupEventEvent e)
Specified by:
ServiceChangedEvent in interface LookupEventListener