Class Service

java.lang.Object
com.bloomberglp.blpapi.Service

public abstract class Service extends Object
Defines a service which provides access to API data.

A Service object is obtained from a Session and contains the Operations (each of which contains its own schema) and the schema for Events which this Service may produce. A Service object is also used to create Request objects used with a Session to issue requests.

All data delivered via the API is associated with a service. Before accessing data using the API using either request-reply or subscription, the appropriate Service must be opened and, if necessary, authorized.

  • Method Details

    • name

      public abstract String name()
      Return a string which contains the name of this Service
    • numOperations

      public abstract int numOperations()
      Return the number of Operations defined by this Service
    • getOperation

      public abstract Operation getOperation(int index)
      Return the Operation of this Service at the specified index.
      Throws:
      IndexOutOfBoundsException - if index >= numOperations()
    • getOperation

      public abstract Operation getOperation(String name)
      Return the Operation of this service having the specified name
      Throws:
      NotFoundException - if an operation with the specified name cannot be found
    • getOperation

      public abstract Operation getOperation(Name name)
      Return the Operation of this service having the specified name
      Throws:
      NotFoundException - if an operation with the specified name cannot be found
    • numEventDefinitions

      public abstract int numEventDefinitions()
      Return the number of unsolicited events defined by this Service
    • getEventDefinition

      public abstract SchemaElementDefinition getEventDefinition(int index)
      Return the SchemaElementDefinition of the event of this Service at the specified index
      Throws:
      IndexOutOfBoundsException - if index >= numEventDefinitions()
    • getEventDefinition

      public abstract SchemaElementDefinition getEventDefinition(String name)
      Return the SchemaElementDefinition of the event of this Service with the specified name
      Throws:
      NotFoundException - if an event definition with the specified name cannot be found
    • getEventDefinition

      public abstract SchemaElementDefinition getEventDefinition(Name name)
      Return the SchemaElementDefinition of the event of this Service with the specified name
      Throws:
      NotFoundException - if an event definition with the specified name cannot be found
    • authorizationServiceName

      public abstract String authorizationServiceName()
      Return the name of the Service which must be used in order to authorize access to restricted operations on this Service.

      If no authorization is required to access operations on this service an empty string is returned. Authorization services never require authorization to use.

    • createRequest

      public abstract Request createRequest(String operationName)
      Return an empty Request object for the specified operation.

      An application must populate the Request before issuing it using Session.sendRequest()

      Throws:
      NotFoundException - if an Operation with the specified name could not be found.
    • createAuthorizationRequest

      public abstract Request createAuthorizationRequest()
      An application must populate the Request before using it with Session.sendAuthorizationRequest().

      Note that this method can be called only on authorization services. This method will throw a NotFoundException if this Service does not provide an AuthorizationRequest operation. The request created by this method can be used for authorizing users to receive data from other Services that require this authorization.

      Authorization requests don't have request ids. (Request.getRequestId()) on an authorization request will return null

      Throws:
      NotFoundException - if this service does not have an AuthorizationRequest Operation.
    • print

      public abstract void print(OutputStream output) throws IOException
      Prints the schema of this service to OutputStream.
      Throws:
      IOException
    • print

      public abstract void print(Writer writer) throws IOException
      Prints the schema of this service to Writer.
      Throws:
      IOException
    • createPublishEvent

      public abstract Event createPublishEvent()
      Create an Event suitable for publishing to this Service. Use an EventFormatter to add Messages to the Event and set fields.
    • createAdminEvent

      @Deprecated public abstract Event createAdminEvent()
      Deprecated.
      as of 3.7.0, use createPublishEvent() instead Create an Admin Event suitable for publishing to this Service. Use an EventFormatter to add Messages to the Event and set fields.
    • createResponseEvent

      public abstract Event createResponseEvent(CorrelationID correlationId)
      Create a response Event to answer the request. Use an EventFormatter to add a Message to the Event and set fields.