Skip navigation links

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

E12907-02


oracle.irm.engine.core.classification
Interface ClassificationFilter

All Known Subinterfaces:
XPathClassificationFilter

public interface ClassificationFilter

Classification filtering. A classification filter is a way of identifying a set of classifications. The classification filter is used by License algorithms to relate license use to content. Content contains a Classification, a license contains the filter. A license can be used if it's classification filter matches the classification embedded in the sealed content.

XML Serialization

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

<?xml version="1.0" encoding="UTF-8"?>
<core:XPathClassificationFilter xmlns:core="http://xmlns.oracle.com/irm/core">
    <system>
        <uuid>185abb6d-13cd-45a2-aabd-4db886b97c5c</uuid>
    </system>
    <uri>http://irm.example.com/irm_desktop</uri>
    <expression>
        <namespaceContexts xmlns:example1="http://www.example.com">example1:example</namespaceContexts>
        <namespaceContexts xmlns:example2="http://www.example2.com">example2:example</namespaceContexts>
        <value>example1:node[@name='hello']</value>
    </expression>
</core:XPathClassificationFilter>


Method Summary
 String getIndex()
          Classification filter index.
 ClassificationSystem getSystem()
          The classification system.
 URI getUri()
          Server URI.
 boolean isApplicable(Classification classification)
          Check to see if a classification is applicable for this filter.

 

Method Detail

getSystem

ClassificationSystem getSystem()
The classification system. This classification system must match the System of the classification for this filter to match.
Returns:
the value of the property. This method will never return null.

getUri

URI getUri()
Server URI. A Classification contains a Uri and it is this URI that is used to contact a server to obtain licenses and keys.

A classification filter will only match a Classification that exactly matches on Uri value.
Returns:
the value of the property. This method will never return null.

getIndex

String getIndex()
Classification filter index. The main use of a classification filter is to link a license with a set of content. When sealed content is opened the Classification is extracted from the public header and checked against a set of available licenses. If the set of licenses being searched is large this process can take a long time. Each license is asked are you applicable to this classification? The search time linearly increases with the number of licenses. To improve performance during such scenarios an optional index can be provided on the classification filter. When licenses are stored they can be indexed with the index value and searches can be optimized by matching related licenses.

The index lookup value is extracted from the classification Cookie using a special ContentAttribute. This index content attribute is used to extract the textual value from the Classification that can be used to look up the set of licenses related to the content. The index content attribute is classification system specific. If no index content attribute is available or no classification index provided then the classification filter must be compared against all licenses that match the same URI (same server) and classification system as the content.
Returns:
the value of the property. This method can return null.

isApplicable

boolean isApplicable(Classification classification)
Check to see if a classification is applicable for this filter.
Parameters:
classification - the classification to check.
Returns:
true if the classification is applicable. False otherwise.

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.