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.DOMStringList; 27 28 /** 29 * DOM Level 3 30 * 31 * This class implements the DOM Level 3 Core interface DOMStringList. 32 * 33 * @xerces.internal 34 * 35 * @author Neil Delima, IBM 36 */ 37 public class DOMStringListImpl implements DOMStringList { 38 39 // A collection of DOMString values 40 private final List<String> fStrings; 41 42 /** 43 * Construct an empty list of DOMStringListImpl 44 */ 45 public DOMStringListImpl() { 46 fStrings = new ArrayList<>(); 47 } 48 49 /** 50 * Construct a DOMStringListImpl from an ArrayList 51 */ 52 public DOMStringListImpl(List<String> params) { 53 fStrings = params; 54 } 55 56 /** 57 * @see org.w3c.dom.DOMStringList#item(int) 58 */ 59 public String item(int index) { 60 final int length = getLength(); 61 if (index >= 0 && index < length) { 62 return (String) fStrings.get(index); 63 } 64 return null; 65 } 66 67 /** 68 * @see org.w3c.dom.DOMStringList#getLength() 69 */ 70 public int getLength() { 71 return fStrings.size(); 72 } 73 74 /** 75 * @see org.w3c.dom.DOMStringList#contains(String) 76 */ 77 public boolean contains(String param) { 78 return fStrings.contains(param); 79 } 80 81 /** 82 * DOM Internal: 83 * Add a <code>DOMString</code> to the list. 84 * 85 * @param domString A string to add to the list 86 */ 87 public void add(String param) { 88 fStrings.add(param); 89 } 90 91 }