1 /*
   2  * reserved comment block
   3  * DO NOT REMOVE OR ALTER!
   4  */
   5 /*
   6  * Copyright 2008 The Apache Software Foundation.
   7  *
   8  *  Licensed under the Apache License, Version 2.0 (the "License");
   9  *  you may not use this file except in compliance with the License.
  10  *  You may obtain a copy of the License at
  11  *
  12  *      http://www.apache.org/licenses/LICENSE-2.0
  13  *
  14  *  Unless required by applicable law or agreed to in writing, software
  15  *  distributed under the License is distributed on an "AS IS" BASIS,
  16  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17  *  See the License for the specific language governing permissions and
  18  *  limitations under the License.
  19  *
  20  */
  21 package com.sun.org.apache.xml.internal.security.transforms.implementations;
  22 
  23 import java.io.OutputStream;
  24 
  25 import com.sun.org.apache.xml.internal.security.c14n.CanonicalizationException;
  26 import com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer11_WithComments;
  27 import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput;
  28 import com.sun.org.apache.xml.internal.security.transforms.Transform;
  29 import com.sun.org.apache.xml.internal.security.transforms.TransformSpi;
  30 import com.sun.org.apache.xml.internal.security.transforms.Transforms;
  31 
  32 /**
  33  * Implements the <CODE>http://www.w3.org/2006/12/xml-c14n-11#WithComments</CODE>
  34  * (C14N 1.1 With Comments) transform.
  35  *
  36  * @author Sean Mullan
  37  */
  38 public class TransformC14N11_WithComments extends TransformSpi {
  39 
  40     protected String engineGetURI() {
  41         return Transforms.TRANSFORM_C14N11_WITH_COMMENTS;
  42     }
  43 
  44     protected XMLSignatureInput enginePerformTransform
  45         (XMLSignatureInput input, Transform transform)
  46         throws CanonicalizationException {
  47         return enginePerformTransform(input, null, transform);
  48     }
  49 
  50     protected XMLSignatureInput enginePerformTransform
  51         (XMLSignatureInput input, OutputStream os, Transform transform)
  52         throws CanonicalizationException {
  53 
  54         Canonicalizer11_WithComments c14n = new Canonicalizer11_WithComments();
  55         if (os != null) {
  56             c14n.setWriter(os);
  57         }
  58 
  59         byte[] result = null;
  60         result = c14n.engineCanonicalize(input);
  61         XMLSignatureInput output = new XMLSignatureInput(result);
  62         if (os != null) {
  63             output.setOutputStream(os);
  64         }
  65         return output;
  66     }
  67 }