SunTM's XACML Implementation for JavaTM

Class BaseCombiningAlgFactory

  extended bycom.sun.xacml.combine.CombiningAlgFactory
      extended bycom.sun.xacml.combine.BaseCombiningAlgFactory
Direct Known Subclasses:

public class BaseCombiningAlgFactory
extends CombiningAlgFactory

This is a basic implementation of CombiningAlgFactory. It implements the insertion and retrieval methods, but doesn't actually setup the factory with any algorithms.

Note that while this class is thread-safe on all creation methods, it is not safe to add support for a new algorithm while creating an instance of an algorithm. This follows from the assumption that most people will initialize these factories up-front, and then start processing without ever modifying the factories. If you need these mutual operations to be thread-safe, then you should write a wrapper class that implements the right synchronization.


Constructor Summary
          Default constructor.
BaseCombiningAlgFactory(Set algorithms)
          Constructor that configures this factory with an initial set of supported algorithms.
Method Summary
 void addAlgorithm(CombiningAlgorithm alg)
          Adds a combining algorithm to the factory.
 CombiningAlgorithm createAlgorithm(URI algId)
          Tries to return the correct combinging algorithm based on the given algorithm ID.
 Set getSupportedAlgorithms()
          Returns the algorithm identifiers supported by this factory.
Methods inherited from class com.sun.xacml.combine.CombiningAlgFactory
addCombiningAlg, createCombiningAlg, getInstance, setDefaultFactory
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public BaseCombiningAlgFactory()
Default constructor.


public BaseCombiningAlgFactory(Set algorithms)
Constructor that configures this factory with an initial set of supported algorithms.

algorithms - a Set of CombiningAlgorithms
IllegalArgumentException - if any elements of the set are not CombiningAlgorithms
Method Detail


public void addAlgorithm(CombiningAlgorithm alg)
Adds a combining algorithm to the factory. This single instance will be returned to anyone who asks the factory for an algorithm with the id given here.

Specified by:
addAlgorithm in class CombiningAlgFactory
alg - the combining algorithm to add
IllegalArgumentException - if the algId is already registered


public Set getSupportedAlgorithms()
Returns the algorithm identifiers supported by this factory.

Specified by:
getSupportedAlgorithms in class CombiningAlgFactory
a Set of Strings


public CombiningAlgorithm createAlgorithm(URI algId)
                                   throws UnknownIdentifierException
Tries to return the correct combinging algorithm based on the given algorithm ID.

Specified by:
createAlgorithm in class CombiningAlgFactory
algId - the identifier by which the algorithm is known
a combining algorithm
UnknownIdentifierException - algId is unknown

Sun's XACML Implementation Version 1.2

Copyright 2003-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

Sun, Sun Microsystems, the Sun Logo, and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.