org.apache.xml.security.transforms
Class Transform

java.lang.Object
  |
  +--org.apache.xml.security.utils.ElementProxy
        |
        +--org.apache.xml.security.utils.SignatureElementProxy
              |
              +--org.apache.xml.security.transforms.Transform

public final class Transform
extends SignatureElementProxy

Implements the behaviour of the ds:Transform element. This Transform(Factory) class role as the Factory and Proxy of implemanting class that have the functionality of a Transform algorithm. Implements the Factory and Proxy pattern for ds:Transform algorithms.

Author:
Christian Geuer-Pollmann
See Also:
Transforms, TransformSpi, Canonicalizer

Field Summary
protected  TransformSpi transformSpi
          Field transformSpi
 
Fields inherited from class org.apache.xml.security.utils.ElementProxy
_baseURI, _constructionElement, _doc, _state, MODE_CREATE, MODE_DECRYPT, MODE_ENCRYPT, MODE_PROCESS, MODE_SIGN, MODE_UNKNOWN, MODE_VERIFY
 
Constructor Summary
Transform(org.w3c.dom.Document doc, java.lang.String algorithmURI, org.w3c.dom.NodeList contextNodes)
          Constructs Transform
Transform(org.w3c.dom.Element element, java.lang.String BaseURI)
          This constructor can only be called from the Transforms object, so it's protected.
 
Method Summary
 java.lang.String getBaseLocalName()
          Returns the localname of the Elements of the sub-class.
static Transform getInstance(org.w3c.dom.Document doc, java.lang.String algorithmURI)
          Generates a Transform object that implements the specified Transform algorithm URI.
static Transform getInstance(org.w3c.dom.Document doc, java.lang.String algorithmURI, org.w3c.dom.Element contextChild)
          Generates a Transform object that implements the specified Transform algorithm URI.
static Transform getInstance(org.w3c.dom.Document doc, java.lang.String algorithmURI, org.w3c.dom.NodeList contextNodes)
          Generates a Transform object that implements the specified Transform algorithm URI.
 java.lang.String getURI()
          Returns the URI representation of Transformation algorithm
static void init()
          Initalizes for this Transform
 XMLSignatureInput performTransform(XMLSignatureInput input)
          Transforms the input, and generats XMLSignatureInput as output.
static void register(java.lang.String algorithmURI, java.lang.String implementingClass)
          Registers implementing class of the Transform algorithm with algorithmURI
 
Methods inherited from class org.apache.xml.security.utils.SignatureElementProxy
getBaseNamespace
 
Methods inherited from class org.apache.xml.security.utils.ElementProxy
addBase64Element, addBase64Text, addBigIntegerElement, addText, addTextElement, createElementForFamily, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getChildElementLocalName, getDefaultPrefix, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, guaranteeThatElementInCorrectSpace, length, setDefaultPrefix, setElement, setXPathNamespaceContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transformSpi

protected TransformSpi transformSpi
Field transformSpi

Constructor Detail

Transform

public Transform(org.w3c.dom.Document doc,
                 java.lang.String algorithmURI,
                 org.w3c.dom.NodeList contextNodes)
          throws InvalidTransformException
Constructs Transform

Parameters:
doc - the Document in which Transform will be placed
algorithmURI - URI representation of Transform algorithm will be specified as parameter of getInstance(org.w3c.dom.Document, java.lang.String), when generate.
contextNodes - the child node list of Transform element
Throws:
InvalidTransformException

Transform

public Transform(org.w3c.dom.Element element,
                 java.lang.String BaseURI)
          throws InvalidTransformException,
                 TransformationException,
                 XMLSecurityException
This constructor can only be called from the Transforms object, so it's protected.

Parameters:
element - ds:Transform element
BaseURI - the URI of the resource where the XML instance was stored
Throws:
InvalidTransformException
TransformationException
XMLSecurityException
Method Detail

getInstance

public static final Transform getInstance(org.w3c.dom.Document doc,
                                          java.lang.String algorithmURI)
                                   throws InvalidTransformException
Generates a Transform object that implements the specified Transform algorithm URI.

Parameters:
algorithmURI - Transform algorithm URI representation, such as specified in Transform algorithm
doc - the proxy Document
Returns:
Transform object
Throws:
InvalidTransformException

getInstance

public static final Transform getInstance(org.w3c.dom.Document doc,
                                          java.lang.String algorithmURI,
                                          org.w3c.dom.Element contextChild)
                                   throws InvalidTransformException
Generates a Transform object that implements the specified Transform algorithm URI.

Parameters:
algorithmURI - Transform algorithm URI representation, such as specified in Transform algorithm
contextChild - the child element of Transform element
doc - the proxy Document
Returns:
Transform object
Throws:
InvalidTransformException

getInstance

public static final Transform getInstance(org.w3c.dom.Document doc,
                                          java.lang.String algorithmURI,
                                          org.w3c.dom.NodeList contextNodes)
                                   throws InvalidTransformException
Generates a Transform object that implements the specified Transform algorithm URI.

Parameters:
algorithmURI - Transform algorithm URI form, such as specified in Transform algorithm
contextNodes - the child node list of Transform element
doc - the proxy Document
Returns:
Transform object
Throws:
InvalidTransformException

init

public static void init()
Initalizes for this Transform


register

public static void register(java.lang.String algorithmURI,
                            java.lang.String implementingClass)
                     throws AlgorithmAlreadyRegisteredException
Registers implementing class of the Transform algorithm with algorithmURI

Parameters:
algorithmURI - algorithmURI URI representation of Transform algorithm will be specified as parameter of getInstance(org.w3c.dom.Document, java.lang.String), when generate.
implementingClass - implementingClass the implementing class of TransformSpi
Throws:
AlgorithmAlreadyRegisteredException - if specified algorithmURI is already registered

getURI

public final java.lang.String getURI()
Returns the URI representation of Transformation algorithm

Returns:
the URI representation of Transformation algorithm

performTransform

public XMLSignatureInput performTransform(XMLSignatureInput input)
                                   throws java.io.IOException,
                                          CanonicalizationException,
                                          InvalidCanonicalizerException,
                                          TransformationException
Transforms the input, and generats XMLSignatureInput as output.

Parameters:
input - input XMLSignatureInput which can supplied Octect Stream and NodeSet as Input of Transformation
Returns:
the XMLSignatureInput class as the result of transformation
Throws:
CanonicalizationException
java.io.IOException
InvalidCanonicalizerException
TransformationException

getBaseLocalName

public java.lang.String getBaseLocalName()
Description copied from class: ElementProxy
Returns the localname of the Elements of the sub-class.

Specified by:
getBaseLocalName in class ElementProxy
Returns:
the localname of the Elements of the sub-class.