View Javadoc
1   /*
2    * reserved comment block
3    * DO NOT REMOVE OR ALTER!
4    */
5   /**
6    * Licensed to the Apache Software Foundation (ASF) under one
7    * or more contributor license agreements. See the NOTICE file
8    * distributed with this work for additional information
9    * regarding copyright ownership. The ASF licenses this file
10   * to you under the Apache License, Version 2.0 (the
11   * "License"); you may not use this file except in compliance
12   * with the License. You may obtain a copy of the License at
13   *
14   * http://www.apache.org/licenses/LICENSE-2.0
15   *
16   * Unless required by applicable law or agreed to in writing,
17   * software distributed under the License is distributed on an
18   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19   * KIND, either express or implied. See the License for the
20   * specific language governing permissions and limitations
21   * under the License.
22   */
23  package com.sun.org.apache.xml.internal.security.signature;
24  
25  import org.w3c.dom.Node;
26  
27  /**
28   * An interface to tell to the c14n if a node is included or not in the output
29   */
30  public interface NodeFilter {
31  
32      /**
33       * Tells if a node must be output in c14n.
34       * @param n
35       * @return 1 if the node should be output.
36       *         0 if node must not be output,
37       *         -1 if the node and all it's child must not be output.
38       *
39       */
40      int isNodeInclude(Node n);
41  
42      /**
43       * Tells if a node must be output in a c14n.
44       * The caller must assured that this method is always call
45       * in document order. The implementations can use this
46       * restriction to optimize the transformation.
47       * @param n
48       * @param level the relative level in the tree
49       * @return 1 if the node should be output.
50       *         0 if node must not be output,
51       *         -1 if the node and all it's child must not be output.
52       */
53      int isNodeIncludeDO(Node n, int level);
54  
55  }