Class LicenseHandler

  extended by com.adobe.flashaccess.sdk.protocol.AbstractHandler
      extended by com.adobe.flashaccess.sdk.protocol.AbstractBatchHandler
          extended by com.adobe.flashaccess.sdk.protocol.BatchHandlerBase
              extended by com.adobe.flashaccess.sdk.protocol.license.LicenseHandler
All Implemented Interfaces:

public class LicenseHandler
extends BatchHandlerBase

License request/response handler. The handler reads a license request and parses the request. The request from the client may contain multiple license requests. The server should iterate through the LicenseRequestMessages returned by getRequests(). For each request either generate a license or set an error code (see LicenseRequestMessage for details). All the licenses and errors will be sent at one time when LicenseHandler.close() is called.

                LicenseHandler handler = new LicenseHandler(config, inputStream, outputStream, licenseSvrCredential);
try {
List<? extends LicenseRequestMessage> requests = handler.getRequests();
for (LicenseRequestMessage licenseReq : requests) {
// If the client supports preview requests, look at licenseReq.getRequestPhase()
ContentInfo contentInfo = licenseReq.getContentInfo();
// If the content has multiple policies, determine which policy to use and call licenseReq.setPolicy()
// If the selected policy has a root license, look at licenseReq.getExistingLicenseInfo() to
// determine if a root license, leaf license, or both should be given to the user.
if (licenseReq.getRequestPhase().equals(LicenseRequestMessage.RequestPhase.Acquire) &&
// Call contentInfo.setKeyRetrievalInfo()
// Call licenseReq.generateLicense() to generate the appropriate license type (may be called
// more than once to generate both root and leaf)
// If desired, modify the expiration or rights in the license
} catch (HandlerParsingException e) {
// Use e.getErrorData() for info on the error which will be sent to the user
// Do not attempt to call any handler methods except close()
} finally {
// Always call close in a finally statement to ensure a response is sent to the client

Constructor Summary
LicenseHandler(HandlerConfiguration config, in, out, ServerCredential licenseServerCred)
          Instantiates a Flash Access Handler for license requests and responses.
Method Summary
 java.util.List getRequests()
          Retrieves license request data.
Methods inherited from class com.adobe.flashaccess.sdk.protocol.BatchHandlerBase
Methods inherited from class com.adobe.flashaccess.sdk.protocol.AbstractHandler
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public LicenseHandler(HandlerConfiguration config,
                      ServerCredential licenseServerCred)
Instantiates a Flash Access Handler for license requests and responses. The handler reads a batch of license requests and sends an authentication response when the close() method is called. The HandlerConfiguration must contain the server's credentials (used for decrypting requests and signing responses).

config - Contains configuration info.
in - The request body.
out - The response stream.
licenseServerCred - An Adobe-issued license server credential to be used for signing licenses.
Method Detail


public java.util.List getRequests()
Retrieves license request data. The client may send multiple requests in a batch. The server needs to iterate through the requests and either generate a license or set an error code. All the responses are sent when close() is called.

Specified by:
getRequests in class BatchHandlerBase
List<? extends LicenseRequestMessage> containing the license request data.

[an error occurred while processing this directive] [an error occurred while processing this directive]