de.unikassel.android.sdcframework.service
Class SDCServiceConnectionHolder

Package class diagram package SDCServiceConnectionHolder
java.lang.Object
  extended by de.unikassel.android.sdcframework.service.SDCServiceConnectionHolder
All Implemented Interfaces:
LifeCycleObject

public class SDCServiceConnectionHolder
extends Object
implements LifeCycleObject

Implementation of life cycle dependent SDC service connection holder.

This class can establish, destroy and observe a connection with the SDC service. It does act based on the activity life cycle, thus the connection is established on creation and destroyed on destruction. The related methods have to be called by the controlling activity. To get notifications about related events, the activity should implement the ServiceConnectionEventReceiver interface.


Nested Class Summary
static interface SDCServiceConnectionHolder.ServiceConnectionEventReceiver
          Interface for receivers of service connection events
 
Field Summary
private  List<SDCServiceConnectionHolder.ServiceConnectionEventReceiver> listEventReceivers
          The event receiver list
private  ISDCService sdcService
          The service interface
private  boolean serviceAvailable
          The service availability state flag
private  Class<?> serviceClass
          The service class
private  ComponentName serviceComponent
          The service component name
private  ServiceConnection serviceConnection
          The service connection
 
Constructor Summary
SDCServiceConnectionHolder(Class<? extends SDCService> serviceClass)
          Constructor
SDCServiceConnectionHolder(SDCServiceConnectionHolder.ServiceConnectionEventReceiver receiver, Class<?> serviceClass)
          Constructor
 
Method Summary
 void addEventReceiver(SDCServiceConnectionHolder.ServiceConnectionEventReceiver receiver)
          Method to add an event receiver
private  ISDCService getSdcService()
          Getter for the sdcService
 ComponentName getServiceComponent()
          Getter for the serviceComponent
 void onCreate(Context applicationContext)
          Creation method
 void onDestroy(Context applicationContext)
          Destroy method
 void onPause(Context applicationContext)
          Pause method
 void onResume(Context applicationContext)
          Resume method
 void removeEventReceiver(SDCServiceConnectionHolder.ServiceConnectionEventReceiver receiver)
          Method to remove an event receiver
private  void setSdcService(ISDCService sdcService)
          Setter for the sdcService
 void setServiceComponent(ComponentName serviceComponent)
          Setter for the serviceComponent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serviceConnection

private final ServiceConnection serviceConnection
The service connection


serviceAvailable

private boolean serviceAvailable
The service availability state flag


sdcService

private ISDCService sdcService
The service interface


listEventReceivers

private final List<SDCServiceConnectionHolder.ServiceConnectionEventReceiver> listEventReceivers
The event receiver list


serviceClass

private final Class<?> serviceClass
The service class


serviceComponent

private ComponentName serviceComponent
The service component name

Constructor Detail

SDCServiceConnectionHolder

public SDCServiceConnectionHolder(SDCServiceConnectionHolder.ServiceConnectionEventReceiver receiver,
                                  Class<?> serviceClass)
Constructor

Parameters:
receiver - the event receiver
serviceClass - the service class

SDCServiceConnectionHolder

public SDCServiceConnectionHolder(Class<? extends SDCService> serviceClass)
Constructor

Parameters:
serviceClass - the service class
Method Detail

getServiceComponent

public ComponentName getServiceComponent()
Getter for the serviceComponent

Returns:
the serviceComponent

setServiceComponent

public void setServiceComponent(ComponentName serviceComponent)
Setter for the serviceComponent

Parameters:
serviceComponent - the serviceComponent to set

onResume

public void onResume(Context applicationContext)
Description copied from interface: LifeCycleObject
Resume method

Specified by:
onResume in interface LifeCycleObject
Parameters:
applicationContext - the application context

onPause

public void onPause(Context applicationContext)
Description copied from interface: LifeCycleObject
Pause method

Specified by:
onPause in interface LifeCycleObject
Parameters:
applicationContext - the application context

onCreate

public void onCreate(Context applicationContext)
Description copied from interface: LifeCycleObject
Creation method

Specified by:
onCreate in interface LifeCycleObject
Parameters:
applicationContext - the application context

onDestroy

public void onDestroy(Context applicationContext)
Description copied from interface: LifeCycleObject
Destroy method

Specified by:
onDestroy in interface LifeCycleObject
Parameters:
applicationContext - the application context

addEventReceiver

public void addEventReceiver(SDCServiceConnectionHolder.ServiceConnectionEventReceiver receiver)
Method to add an event receiver

Parameters:
receiver - the event receiver

removeEventReceiver

public void removeEventReceiver(SDCServiceConnectionHolder.ServiceConnectionEventReceiver receiver)
Method to remove an event receiver

Parameters:
receiver - the event receiver

setSdcService

private final void setSdcService(ISDCService sdcService)
Setter for the sdcService

Parameters:
sdcService - the sdcService to set

getSdcService

private final ISDCService getSdcService()
Getter for the sdcService

Returns:
the sdcService