Class WebService

java.lang.Object
com.google.common.util.concurrent.AbstractIdleService
org.somda.sdc.dpws.device.WebService
All Implemented Interfaces:
com.google.common.util.concurrent.Service, EventSourceAccess, Interceptor

public abstract class WebService extends com.google.common.util.concurrent.AbstractIdleService implements EventSourceAccess, Interceptor
Web Service base class.

The Web Service is a server interceptor to process incoming requests of a certain Web Service. Moreover, the Web Service base class is capable of providing an event source to send notifications if needed.

The event source is only set if a hosted service has been registered at the Web Service. The hosted service can be registered by first getting the hosting service access followed by adding a hosted service:

  1. Device.getHostingServiceAccess() to get hosting service access, and then
  2. HostingServiceAccess.addHostedService(HostedService) to add the service to a hosting service.
Use this class as a server interceptor when calling HostingServiceAccess.addHostedService(HostedService).
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service

    com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Default constructor that initializes a non-functioning event source stub.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    sendNotification(String action, Object payload)
    Sends a notification to all subscribers.
    protected void
     
    protected void
     
    void
    Sends a subscription end message to all subscribers and shut down connected subscriptions.

    Methods inherited from class com.google.common.util.concurrent.AbstractIdleService

    addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, executor, failureCause, isRunning, serviceName, startAsync, state, stopAsync, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • WebService

      protected WebService()
      Default constructor that initializes a non-functioning event source stub.
  • Method Details

    • sendNotification

      public void sendNotification(String action, Object payload)
      Description copied from interface: EventSourceAccess
      Sends a notification to all subscribers.
      Specified by:
      sendNotification in interface EventSourceAccess
      Parameters:
      action - the action the notification complies with.
      payload - the message payload that is tried to be marshalled and delivered.
    • subscriptionEndToAll

      public void subscriptionEndToAll(WsEventingStatus status)
      Description copied from interface: EventSourceAccess
      Sends a subscription end message to all subscribers and shut down connected subscriptions.
      Specified by:
      subscriptionEndToAll in interface EventSourceAccess
      Parameters:
      status - reason for ending the subscriptions.
    • startUp

      protected void startUp()
      Specified by:
      startUp in class com.google.common.util.concurrent.AbstractIdleService
    • shutDown

      protected void shutDown()
      Specified by:
      shutDown in class com.google.common.util.concurrent.AbstractIdleService