Skip navigation links

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

E12907-03


oracle.irm.engine.rights.context
Class DomainCollectionFactory

java.lang.Object
  extended by oracle.irm.engine.rights.context.DomainCollectionFactory


public final class DomainCollectionFactory
extends Object

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

 

Method Summary
static Collection<Domain> copyDomains(Collection<Domain> collection)
          Create a shallow copy of a Domain collection.
static Collection<Domain> createDomains(Domain... elements)
          Create a Domain collection containing zero or more elements.
static Collection<Domain> createDomains(int capacity)
          Create an empty Domain collection with a capacity specified.
static Map<UUID,Domain> domainsAsMap(Collection<Domain> collection)
          Create a map keyed on Uuid from a collection of Domain elements.
static Set<Domain> domainsAsSet(Collection<Domain> collection)
          Create a set of Domain elements from a collection.
static Domain getDomainByUuid(Collection<Domain> collection, UUID key)
          Get an element from a Domain collection by Uuid.
static Collection<Domain> unmodifiableDomains(Collection<Domain> value)
          Create an immutable shallow copy of a Domain collection.

 

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

 

Field Detail

EMPTY_DOMAINS

public static final Collection<Domain> EMPTY_DOMAINS
An empty Domain 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

createDomains

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

createDomains

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

copyDomains

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

domainsAsSet

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

unmodifiableDomains

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

domainsAsMap

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

getDomainByUuid

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