Skip navigation links

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

E12907-03


oracle.irm.engine.core.feature
Class FeatureCollectionFactory

java.lang.Object
  extended by oracle.irm.engine.core.feature.FeatureCollectionFactory


public final class FeatureCollectionFactory
extends Object

Feature collection factory and utilities. This class provides methods for creating new instances of Feature collections as well as providing a number of collection based utility methods and fields. These methods are provided mainly for convenience and to provide a consistent way to create Feature collections. Methods that take collection parameters make no assumptions about what collection implementation is used, so the use of these factory style methods is at the developers discretion.


Field Summary
static Collection<Feature> EMPTY_FEATURES
          An empty Feature collection.

 

Method Summary
static Collection<Feature> copyFeatures(Collection<Feature> collection)
          Create a shallow copy of a Feature collection.
static Collection<Feature> createFeatures(Feature... elements)
          Create a Feature collection containing zero or more elements.
static Collection<Feature> createFeatures(int capacity)
          Create an empty Feature collection with a capacity specified.
static Map<String,Feature> featuresAsMap(Collection<Feature> collection)
          Create a map keyed on Id from a collection of Feature elements.
static Set<Feature> featuresAsSet(Collection<Feature> collection)
          Create a set of Feature elements from a collection.
static Feature getFeatureById(Collection<Feature> collection, String key)
          Get an element from a Feature collection by Id.
static Collection<Feature> unmodifiableFeatures(Collection<Feature> value)
          Create an immutable shallow copy of a Feature collection.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

EMPTY_FEATURES

public static final Collection<Feature> EMPTY_FEATURES
An empty Feature collection. This empty collection is immutable. This field is useful if a method requires a collection argument but the caller wants to supply an empty collection. Using this field value rather than passing null can aid code clarity.

Method Detail

createFeatures

public static Collection<Feature> createFeatures(Feature... elements)
Create a Feature collection containing zero or more elements. Creates a collection and adds all of the provided elements into the specified collection. This method is provided as a convenience method as it allows creation of an empty collection, a collection with one element or a collection with many elements (all in one line of code).
Parameters:
elements - The elements to add into the collection.
Returns:
The collection containing the specified elements. If no elements are provided an empty collection is returned.

createFeatures

public static Collection<Feature> createFeatures(int capacity)
Create an empty Feature collection with a capacity specified. Creates an empty collection with an initial capacity for n elements.
Parameters:
capacity - The initial collection capacity.
Returns:
The empty collection with the specified capacity.

copyFeatures

public static Collection<Feature> copyFeatures(Collection<Feature> collection)
Create a shallow copy of a Feature collection. A shallow copy creates a new collection which contains the elements of the provided collection.
Parameters:
collection - The collection to copy.
Returns:
The copy of the collection. If the provided collection is null, an empty collection is returned.

featuresAsSet

public static Set<Feature> featuresAsSet(Collection<Feature> collection)
Create a set of Feature elements from a collection. Feature objects can be logically compared using equals. When adding Feature objects into a set duplicates will be removed.
Parameters:
collection - The collection to copy.
Returns:
The set. If the provided collection is null, an empty set is returned.

unmodifiableFeatures

public static Collection<Feature> unmodifiableFeatures(Collection<Feature> value)
Create an immutable shallow copy of a Feature collection. Feature objects are immutable (cannot be changed once created). An immutable collection of Feature elements can therefore be treated as immutable (neither the collection or elements can be changed once created).
Parameters:
value - The collection to copy.
Returns:
The immutable collection. If the provided collection is null, an empty collection is returned.

featuresAsMap

public static Map<String,Feature> featuresAsMap(Collection<Feature> collection)
Create a map keyed on Id from a collection of Feature elements. This method creates a map of Feature elements, using the Id property as the map key. The map will contain a snap shot of the elements from the provided collection. Any changes to the collection after calling this method are not reflected in the map. If the collection contains duplicate elements the map will contain the element that is returned last from the collection's iterator.
Parameters:
collection - The collection to convert to a map.
Returns:
A map. If the provided collection is null, an empty map is returned.

getFeatureById

public static Feature getFeatureById(Collection<Feature> collection,
                                     String key)
Get an element from a Feature collection by Id. This method searches the collection for the first instance of a Feature that matches the provided Id (first in terms of the order of elements returned by the collection iterator).
Parameters:
collection - The collection.
key - The key.
Returns:
The element, or null if the element with that key value does not exist.

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.