Skip navigation links

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

E12907-02


oracle.irm.engine.core.general
Class LabelCollectionFactory

java.lang.Object
  extended by oracle.irm.engine.core.general.LabelCollectionFactory


public final class LabelCollectionFactory
extends Object

Label collection factory and utilities. This class provides methods for creating new instances of Label 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 Label 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<Label> EMPTY_LABELS
          An empty Label collection.

 

Method Summary
static Collection<Label> copyLabels(Collection<Label> collection)
          Create a shallow copy of a Label collection.
static Collection<Label> createLabels(int capacity)
          Create an empty Label collection with a capacity specified.
static Collection<Label> createLabels(Label... elements)
          Create a Label collection containing zero or more elements.
static Label getLabelByLocale(Collection<Label> collection, Locale key)
          Get an element from a Label collection by Locale.
static Map<Locale,Label> labelsAsMap(Collection<Label> collection)
          Create a map keyed on Locale from a collection of Label elements.
static Set<Label> labelsAsSet(Collection<Label> collection)
          Create a set of Label elements from a collection.
static Collection<Label> unmodifiableLabels(Collection<Label> value)
          Create an immutable shallow copy of a Label collection.

 

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

 

Field Detail

EMPTY_LABELS

public static final Collection<Label> EMPTY_LABELS
An empty Label 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

createLabels

public static Collection<Label> createLabels(Label... elements)
Create a Label 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.

createLabels

public static Collection<Label> createLabels(int capacity)
Create an empty Label 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.

copyLabels

public static Collection<Label> copyLabels(Collection<Label> collection)
Create a shallow copy of a Label 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.

labelsAsSet

public static Set<Label> labelsAsSet(Collection<Label> collection)
Create a set of Label elements from a collection. Label objects can be logically compared using equals. When adding Label 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.

unmodifiableLabels

public static Collection<Label> unmodifiableLabels(Collection<Label> value)
Create an immutable shallow copy of a Label collection. Label objects are immutable (cannot be changed once created). An immutable collection of Label 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.

labelsAsMap

public static Map<Locale,Label> labelsAsMap(Collection<Label> collection)
Create a map keyed on Locale from a collection of Label elements. This method creates a map of Label elements, using the Locale 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.

getLabelByLocale

public static Label getLabelByLocale(Collection<Label> collection,
                                     Locale key)
Get an element from a Label collection by Locale. This method searches the collection for the first instance of a Label that matches the provided Locale (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-02


Copyright © 2010, Oracle. All rights reserved.