org.apache.xml.security.transforms
Class Transform

java.lang.Object
  extended byorg.apache.xml.security.utils.ElementProxy
      extended byorg.apache.xml.security.utils.SignatureElementProxy
          extended byorg.apache.xml.security.transforms.Transform

public final class Transform
extends SignatureElementProxy

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

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

Field Summary
 
Fields inherited from class org.apache.xml.security.utils.ElementProxy
_baseURI, _constructionElement, _doc
 
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 generates XMLSignatureInput as output.
 XMLSignatureInput performTransform(XMLSignatureInput input, java.io.OutputStream os)
          Transforms the input, and generates 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, createElementForFamilyLocal, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getDefaultPrefix, getDefaultPrefixBindings, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, length, setDefaultPrefix, setElement, setXPathNamespaceContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 which will be specified as parameter of getInstance(Document, String), when generated.
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 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 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 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(Document, String), when generate.
implementingClass - implementingClass the implementing class of TransformSpi
Throws:
AlgorithmAlreadyRegisteredException - if specified algorithmURI is already registered

getURI

public 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 generates XMLSignatureInput as output.

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

performTransform

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

Parameters:
input - input XMLSignatureInput which can supplied Octect Stream and NodeSet as Input of Transformation
os - where to output the result of the last 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.