1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage java.lang; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This interface represents an ordered set of characters and defines the 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * methods to probe them. 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic interface CharSequence { 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the number of characters in this sequence. 29f5597e626ecf7949d249dea08c1a2964d890ec11Jesse Wilson * 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the number of characters. 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int length(); 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 35adf1aa88864d176ab08f95b9ea6fffc744b64ae7Elliott Hughes * Returns the character at {@code index}. 36adf1aa88864d176ab08f95b9ea6fffc744b64ae7Elliott Hughes * @throws IndexOutOfBoundsException if {@code index < 0} or {@code index >= length()}. 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public char charAt(int index); 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns a {@code CharSequence} from the {@code start} index (inclusive) 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to the {@code end} index (exclusive) of this sequence. 43f5597e626ecf7949d249dea08c1a2964d890ec11Jesse Wilson * 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param start 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the start offset of the sub-sequence. It is inclusive, that 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is, the index of the first character that is included in the 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * sub-sequence. 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param end 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the end offset of the sub-sequence. It is exclusive, that is, 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the index of the first character after those that are included 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * in the sub-sequence 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the requested sub-sequence. 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws IndexOutOfBoundsException 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if {@code start < 0}, {@code end < 0}, {@code start > end}, 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * or if {@code start} or {@code end} are greater than the 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * length of this sequence. 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public CharSequence subSequence(int start, int end); 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns a string with the same characters in the same order as in this 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * sequence. 63f5597e626ecf7949d249dea08c1a2964d890ec11Jesse Wilson * 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return a string based on this sequence. 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String toString(); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 68