1 /* 2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 3 * @LastModified: Oct 2017 4 */ 5 /* 6 * Licensed to the Apache Software Foundation (ASF) under one or more 7 * contributor license agreements. See the NOTICE file distributed with 8 * this work for additional information regarding copyright ownership. 9 * The ASF licenses this file to You under the Apache License, Version 2.0 10 * (the "License"); you may not use this file except in compliance with 11 * the License. You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 */ 21 22 package com.sun.org.apache.xerces.internal.dom; 23 24 import java.util.ArrayList; 25 import java.util.List; 26 import org.w3c.dom.DOMImplementation; 27 import org.w3c.dom.DOMImplementationList; 28 29 /** 30 * <p>This class implements the DOM Level 3 Core interface DOMImplementationList.</p> 31 * 32 * @xerces.internal 33 * 34 * @author Neil Delima, IBM 35 * @since DOM Level 3 Core 36 */ 37 public class DOMImplementationListImpl implements DOMImplementationList { 38 39 //A collection of DOMImplementations 40 private List<DOMImplementation> fImplementations; 41 42 /** 43 * Construct an empty list of DOMImplementations 44 */ 45 public DOMImplementationListImpl() { 46 fImplementations = new ArrayList<>(); 47 } 48 49 /** 50 * Construct an empty list of DOMImplementations 51 */ 52 public DOMImplementationListImpl(List<DOMImplementation> params) { 53 fImplementations = params; 54 } 55 56 /** 57 * Returns the indexth item in the collection. 58 * 59 * @param index The index of the DOMImplemetation from the list to return. 60 */ 61 public DOMImplementation item(int index) { 62 try { 63 return fImplementations.get(index); 64 } catch (IndexOutOfBoundsException e) { 65 return null; 66 } 67 } 68 69 /** 70 * Returns the number of DOMImplementations in the list. 71 * 72 * @return An integer indicating the number of DOMImplementations. 73 */ 74 public int getLength() { 75 return fImplementations.size(); 76 } 77 }