Skip navigation links

Oracle® Information Rights Management Server Java API Reference
11g Release 1 (11.1.1)

E12907-02


oracle.irm.engine.core.license
Interface License


public interface License

A license. A license defines the what you can do, with what classifications and when criteria. The criteria of a license are stored in the Criteria property. This property contains all the data that defines the what you can do, with what classifications and when. When licenses are requested by the desktop (for example, when content is opened) additional properties on the license are altered to reflect where the license is delivered. This process is called serving a license and is processed by the serveLicenses operation. The serving process sets additional properties on the license such as the RequestTime, RefreshTime and attached Device. If the license can be refreshed from the server these properties are also recorded in persistent storage. If the same license is requested, these properties are restored and checked, to ensure the license is not already in use.

Creation

Instances of License objects can be created using the following factory style method(s).

License object = createLicense(
    uuid,
    criteria,
    keys,
    licenseTime);
License object = createLicense(
    uuid,
    criteria,
    keys,
    licenseTime,
    requestTime,
    serveUuid,
    refreshTime);

Collections

Collections for License objects can be created using the following factory method. This method creates the most appropriate collection implementation class for storing License elements.

 Collection<License> object = createLicenses();

Consult the Uuid property for more information on how this property can relate to License collections.

XML Serialization

License instances can be serialized as an XML document. This XML document can also be used to recreate a License object. The following XML document shows an example License in XML form.

<?xml version="1.0" encoding="UTF-8"?>
<core:License xmlns:classifications="http://xmlns.oracle.com/irm/classifications" xmlns:core="http://xmlns.oracle.com/irm/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <uuid>7fabc0b0-6ece-495b-96e3-661b655b1759</uuid>
    <criteria>
        <storage>PERSISTENT</storage>
        <delivery>SYNCHRONIZATION</delivery>
        <use>PRIMARY</use>
        <features>
            <id>oracle.irm.generic.Open</id>
            <use>IMMEDIATE</use>
            <record>true</record>
        </features>
        <timeSpans xsi:type="core:AbsoluteTimeSpan">
            <referencePoint>CURRENT</referencePoint>
            <startTime>2007-08-10T12:00:00.000+01:00</startTime>
            <stopTime>2007-09-10T12:00:00.000+01:00</stopTime>
        </timeSpans>
        <refreshPeriod>
            <amount>120</amount>
            <units>SECONDS</units>
        </refreshPeriod>
        <classifications xsi:type="core:XPathClassificationFilter">
            <system>
                <uuid>588403f9-9cff-4cce-88e4-e030cc57282a</uuid>
            </system>
            <uri>http://irm.example.com/irm_desktop</uri>
            <expression>
                <namespaceContexts>classifications:classifications</namespaceContexts>
                <value>classifications:ContextCookie/[context[uuid='588403f9-9cff-4cce-88e4-e030cc57282a'] and itemCode='item1.sdoc']</value>
            </expression>
        </classifications>
        <destinations xsi:type="core:XPathClassificationFilter">
            <system>
                <uuid>588403f9-9cff-4cce-88e4-e030cc57282a</uuid>
            </system>
            <uri>http://irm.example.com/irm_desktop</uri>
            <expression>
                <namespaceContexts>classifications:classifications</namespaceContexts>
                <value>classifications:ContextCookie/context[uuid='9275e6e5-9550-4054-9a4e-618971d5aeda']</value>
            </expression>
        </destinations>
    </criteria>
    <keys>
        <uuid>213f8f65-c5d1-4868-9fff-ad156daa2dd6</uuid>
    </keys>
    <licenseTime>2007-01-01T12:00:00.000+01:00</licenseTime>
    <requestTime>2008-01-01T12:00:00.000+01:00</requestTime>
    <serveUuid>9c31d850-4470-4ba4-8dac-16324156e54f</serveUuid>
    <refreshTime>2009-01-01T12:00:00.000+01:00</refreshTime>
</core:License>


Nested Class Summary
static class License.Availability
          License availability status options.
static class License.ExpiryType
          The reason for a license expiring.

 

Method Summary
 LicenseCriteria getCriteria()
          The license criteria.
 Device getDevice()
          Attached device.
 Collection<KeySet> getKeys()
          The related key sets.
 Date getLicenseTime()
          License time.
 Date getRefreshTime()
          Refresh time.
 Date getRequestTime()
          Request time.
 UUID getServeUuid()
          Serve UUID.
 UUID getUuid()
          An unique identity for a license.

 

Method Detail

getUuid

UUID getUuid()
An unique identity for a license. A globally unique identity for a license. The license UUID logically identifies a license. The UUID is used during the serveLicenses to record where the license was delivered. Maintaining the same UUID for logically equivalent licenses is important when tracking of a license's use is important.

It is valid for the Criteria to change over time for the same UUID.

Collections

This property value can be used to retrieve the object from a collection using getLicenseByUuid.
Returns:
the value of the property. This method will never return null.

getCriteria

LicenseCriteria getCriteria()
The license criteria. The license criteria defines the what you can do, with what classifications and when criteria.
Returns:
the value of the property. This method will never return null.

getKeys

Collection<KeySet> getKeys()
The related key sets. The key sets that relate to this license. As this license may be applicable to multiple classifications, it may also be applicable to multiple key sets. This relationship is used to ensure that key sets are discarded when a license is no longer valid.

State

The collection returned by this method is an unmodifiable view on the internal collection state of the object.
Returns:
the value of the property. If this collection is empty this method returns an empty collection rather than returning null.

getLicenseTime

Date getLicenseTime()
License time. The time the license was created, issued, bought or assigned.

State

The date returned by this method can be safely altered without affecting the internal state of the object.
Returns:
the value of the property. This method will never return null.

getRequestTime

Date getRequestTime()
Request time. The time the license was served to a device. If the license has not been served this property will have a null value.

State

The date returned by this method can be safely altered without affecting the internal state of the object.
Returns:
the value of the property. This method can return null.

getServeUuid

UUID getServeUuid()
Serve UUID. When a set of licenses are served to a device a unique UUID will be set on the license. This value can be used to identify the set of licenses served at the same time. This value can also be used with the check in operation to filter the check in based on the serve UUID value. If the license has not been served this property will have a null value.
Returns:
the value of the property. This method can return null.

getRefreshTime

Date getRefreshTime()
Refresh time. The time at which the license must be refreshed. If the license has not been served this property will have a null value.

State

The date returned by this method can be safely altered without affecting the internal state of the object.
Returns:
the value of the property. This method can return null.

getDevice

Device getDevice()
Attached device. The device on which the license was served. If the license has not been served this property will have a null value.

Transient

This property is transient and will not be serialized (e.g into XML, remote method calls).
Returns:
the value of the property. This method can return null.

Skip navigation links

Oracle® Information Rights Management Server Java API Reference
11g Release 1 (11.1.1)

E12907-02


Copyright © 2010, Oracle. All rights reserved.