1 /* 2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 3 */ 4 /* 5 * Licensed to the Apache Software Foundation (ASF) under one or more 6 * contributor license agreements. See the NOTICE file distributed with 7 * this work for additional information regarding copyright ownership. 8 * The ASF licenses this file to You under the Apache License, Version 2.0 9 * (the "License"); you may not use this file except in compliance with 10 * the License. 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.xerces.internal.xs.datatypes; 22 23 import com.sun.org.apache.xerces.internal.xs.XSException; 24 import java.util.List; 25 26 /** 27 * <p>The <code>ByteList</code> is an immutable ordered collection of 28 * <code>byte</code>.</p> 29 * 30 * @author Ankit Pasricha, IBM 31 * 32 * @LastModified: Oct 2017 33 */ 34 public interface ByteList extends List<Byte> { 35 36 /** 37 * The number of <code>byte</code>s in the list. The range of 38 * valid child object indices is 0 to <code>length-1</code> inclusive. 39 */ 40 public int getLength(); 41 42 /** 43 * Checks if the <code>byte</code> <code>item</code> is a 44 * member of this list. 45 * @param item <code>byte</code> whose presence in this list 46 * is to be tested. 47 * @return True if this list contains the <code>byte</code> 48 * <code>item</code>. 49 */ 50 public boolean contains(byte item); 51 52 /** 53 * Returns the <code>index</code>th item in the collection. The index 54 * starts at 0. 55 * @param index index into the collection. 56 * @return The <code>byte</code> at the <code>index</code>th 57 * position in the <code>ByteList</code>. 58 * @exception XSException 59 * INDEX_SIZE_ERR: if <code>index</code> is greater than or equal to the 60 * number of objects in the list or less than zero. 61 */ 62 public byte item(int index) throws XSException; 63 64 /** 65 * Construct and return a byte array for bytes contained in this list. 66 */ 67 public byte[] toByteArray(); 68 }