helpernodelist.java

来自「JAVA 所有包」· Java 代码 · 共 108 行

JAVA
108
字号
/* * Copyright  1999-2004 The Apache Software Foundation. * *  Licensed under the Apache License, Version 2.0 (the "License"); *  you may not use this file except in compliance with the License. *  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * *  Unless required by applicable law or agreed to in writing, software *  distributed under the License is distributed on an "AS IS" BASIS, *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *  See the License for the specific language governing permissions and *  limitations under the License. * */package com.sun.org.apache.xml.internal.security.utils;import java.util.ArrayList;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;/** * * * @author Christian Geuer-Pollmann * */public class HelperNodeList implements NodeList {   /** {@link java.util.logging} logging facility */    static java.util.logging.Logger log =     java.util.logging.Logger.getLogger(HelperNodeList.class.getName());   /** Field nodes */   ArrayList nodes = new ArrayList(20);   boolean _allNodesMustHaveSameParent = false;   /**    *     */   public HelperNodeList() {      this(false);   }      /**    * @param allNodesMustHaveSameParent    */   public HelperNodeList(boolean allNodesMustHaveSameParent) {      this._allNodesMustHaveSameParent = allNodesMustHaveSameParent;   }   /**    * Method item    *    * @param index    * @return node with inde i    */   public Node item(int index) {      // if (log.isLoggable(java.util.logging.Level.FINE))                                     log.log(java.util.logging.Level.FINE, "item(" + index + ") of " + this.getLength() + " nodes");      return (Node) nodes.get(index);   }   /**    * Method getLength    *    *  @return length of the list    */   public int getLength() {      return nodes.size();   }   /**    * Method appendChild    *    * @param node    * @throws IllegalArgumentException    */   public void appendChild(Node node) throws IllegalArgumentException {      if (this._allNodesMustHaveSameParent && this.getLength() > 0) {         if (this.item(0).getParentNode() != node.getParentNode()) {            throw new IllegalArgumentException("Nodes have not the same Parent");         }      }      nodes.add(node);   }   /**    * @return the document that contains this nodelist    */   public Document getOwnerDocument() {      if (this.getLength() == 0) {         return null;      }      return XMLUtils.getOwnerDocument(this.item(0));   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?