Skip navigation links

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

E12907-03


oracle.irm.engine.core.storage
Interface DesktopStore


public interface DesktopStore

Desktop bundle storage. A desktop store holds a set of desktop bundles from zero or more servers. The desktop store also provides a flatten view on the constituent parts of these desktop bundles. The licenses, key sets, cryptography schemas and classifications from all the bundles are merged together into single sets for easy access. The cryptography keys are not stored in the desktop store, but stored in a corresponding key store. When licenses are requested a Device must also be specified so that a record of where licenses have been served can be made. The desktop store also records these device details as they relate to the licenses in the store. The desktop store is usually persisted to a file. The file will only contain licenses (and key sets) that are marked as PERSISTENT.

Creation

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

DesktopStore object = createDesktopStore();
DesktopStore object = createDesktopStore(
    device,
    bundles);

XML Serialization

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

<?xml version="1.0" encoding="UTF-8"?>
<core:DesktopStore xmlns:core="http://xmlns.oracle.com/irm/core" xmlns:classifications="http://xmlns.oracle.com/irm/classifications" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <device>
        <uuid>a7352732-dcd0-43af-93c5-0cbc7c1f203d</uuid>
        <name>device1</name>
        <adapters>
            <macAddress>01-23-45-67-89-ab</macAddress>
            <ipAddresses>192.168.0.1</ipAddresses>
            <ipAddresses>192.168.0.2</ipAddresses>
        </adapters>
    </device>
    <bundles>
        <uri>http://irm.example.com/irm_desktop</uri>
        <referenceTime>2007-01-01T12:00:00.000+01:00</referenceTime>
        <account>
            <uuid>17f45d8d-d5c9-4970-8808-daa0fc893c33</uuid>
            <type>USER</type>
            <name>John Smith</name>
        </account>
        <licenses>
            <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>
            <refreshTime>2009-01-01T12:00:00.000+01:00</refreshTime>
        </licenses>
        <keys>
            <uuid>213f8f65-c5d1-4868-9fff-ad156daa2dd6</uuid>
            <schema>
                <id>AES128</id>
            </schema>
            <creationTime>2007-01-01T12:00:00.000+01:00</creationTime>
        </keys>
        <schemas>
            <id>AES128</id>
            <encryptionTransformation>AES/CTR/NoPadding</encryptionTransformation>
            <encryptionKeySize>128</encryptionKeySize>
            <hmacSigningAlgorithm>HmacSHA256</hmacSigningAlgorithm>
            <hmacSigningKeySize>128</hmacSigningKeySize>
            <sessionKeyEncryptionTransformation>AES/ECB/NoPadding</sessionKeyEncryptionTransformation>
            <sessionKeyEncryptionKeySize>128</sessionKeyEncryptionKeySize>
            <digestAlgorithm>SHA-256</digestAlgorithm>
            <useFips>false</useFips>
        </schemas>
        <classifications>
            <classification>
                <id>7ec1c191-0531-4876-813e-c554676df09b</id>
                <system>
                    <uuid>588403f9-9cff-4cce-88e4-e030cc57282a</uuid>
                </system>
                <keySet>
                    <uuid>213f8f65-c5d1-4868-9fff-ad156daa2dd6</uuid>
                </keySet>
                <uri>http://irm.example.com/irm_desktop</uri>
                <classifications:ContextCookie>
                    <context>
                        <uuid>588403f9-9cff-4cce-88e4-e030cc57282a</uuid>
                    </context>
                    <itemCode>
                        <value>sample.sdoc</value>
                    </itemCode>
                </classifications:ContextCookie>
                <classificationTime>2008-02-01T13:00:00.000+01:00</classificationTime>
                <labels>
                    <locale>en</locale>
                    <name>Top Secret</name>
                </labels>
            </classification>
        </classifications>
        <settings>
            <timeStamp>2007-08-10T12:00:00.000+01:00</timeStamp>
            <synchronizationWindows>
                <day>TUESDAY</day>
                <start>
                    <hour>9</hour>
                    <minute>30</minute>
                </start>
                <end>
                    <hour>10</hour>
                    <minute>30</minute>
                </end>
            </synchronizationWindows>
            <contentAttributes>
                <id>oracle.irm.server.uri</id>
                <type>URI</type>
                <usage>custom_property</usage>
                <expression>
                    <namespaceContexts xmlns:content="http://xmlns.oracle.com/irm/content">content:content</namespaceContexts>
                    <value>content:ContentState/content/classification/uri</value>
                </expression>
                <label>
                    <locale>en</locale>
                    <name>Server URI</name>
                    <description>The server that the desktop contacts for rights.</description>
                </label>
            </contentAttributes>
        </settings>
    </bundles>
</core:DesktopStore>

See Also:
DesktopStoreOperations

Method Summary
 Collection getBundles()
          Desktop bundles.
 Collection<Classification> getClassifications()
          The classification definitions.
 Device getDevice()
          Device details.
 Collection<KeySet> getKeys()
          Key sets.
 Collection<CryptoSchema> getSchemas()
          Cryptography schemas.

 

Method Detail

getDevice

Device getDevice()
Device details. Represents the device that is storing licenses. If licenses are checked out, they are checked out to this device.
Returns:
the value of the property. This method will never return null.

getBundles

Collection getBundles()
Desktop bundles.

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.

getKeys

Collection<KeySet> getKeys()
Key sets. Reflects the consolidate set of key sets from all the desktop bundles in this store.

Transient

This property is transient and will not be serialized (e.g into XML, remote method calls).

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.

getSchemas

Collection<CryptoSchema> getSchemas()
Cryptography schemas. Reflects the consolidate set of schemas from all the desktop bundles in this store.

Transient

This property is transient and will not be serialized (e.g into XML, remote method calls).

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.

getClassifications

Collection<Classification> getClassifications()
The classification definitions. Reflects the consolidate set of classifications from all the desktop bundles in this store.

Transient

This property is transient and will not be serialized (e.g into XML, remote method calls).

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.

Skip navigation links

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

E12907-03


Copyright © 2011, Oracle. All rights reserved.