1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage java.lang; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.ObjectInputStream; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.ObjectOutputStream; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.ObjectStreamField; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.Serializable; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 27b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * A modifiable {@link CharSequence sequence of characters} for use in creating 28b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * strings, where all accesses are synchronized. This class has mostly been replaced 29b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * by {@link StringBuilder} because this synchronization is rarely useful. This 30b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * class is mainly used to interact with legacy APIs that expose it. 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 32b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * <p>For particularly complex string-building needs, consider {@link java.util.Formatter}. 33b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * 34b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * <p>The majority of the modification methods on this class return {@code 35b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * this} so that method calls can be chained together. For example: 36b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * {@code new StringBuffer("a").append("b").append("c").toString()}. 37b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * 38b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * @see CharSequence 39b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * @see Appendable 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see StringBuilder 41b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * @see String 42b53b743d2b03251635d98185d2e0680d166df033Elliott Hughes * @see String.format 433819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.0 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class StringBuffer extends AbstractStringBuilder implements 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Appendable, Serializable, CharSequence { 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final long serialVersionUID = 3388685877147921107L; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final ObjectStreamField serialPersistentFields[] = { 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new ObjectStreamField("count", int.class), //$NON-NLS-1$ 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new ObjectStreamField("shared", boolean.class), //$NON-NLS-1$ 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new ObjectStreamField("value", char[].class), }; //$NON-NLS-1$ 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Constructs a new StringBuffer using the default capacity which is 16. 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer() { 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(); 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Constructs a new StringBuffer using the specified capacity. 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param capacity 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the initial capacity. 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer(int capacity) { 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(capacity); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Constructs a new StringBuffer containing the characters in the specified 743819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * string. The capacity of the new buffer will be the length of the 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * {@code String} plus the default capacity. 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param string 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the string content with which to initialize the new instance. 793819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @throws NullPointerException 803819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * if {@code string} is {@code null}. 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer(String string) { 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(string); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Constructs a StringBuffer and initializes it with the content from the 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * specified {@code CharSequence}. The capacity of the new buffer will be 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the length of the {@code CharSequence} plus the default capacity. 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param cs 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the content to initialize the instance. 933819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @throws NullPointerException 943819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * if {@code cs} is {@code null}. 953819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.5 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer(CharSequence cs) { 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(cs.toString()); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the string representation of the specified boolean to the end of 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this StringBuffer. 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the argument is {@code true} the string {@code "true"} is appended, 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * otherwise the string {@code "false"} is appended. 1073819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param b 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the boolean to append. 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(boolean) 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer append(boolean b) { 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return append(b ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$ 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the specified character to the end of this buffer. 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param ch 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the character to append. 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(char) 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(char ch) { 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(ch); 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the string representation of the specified double to the end of this 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * StringBuffer. 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param d 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the double to append. 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(double) 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer append(double d) { 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return append(Double.toString(d)); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the string representation of the specified float to the end of this 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * StringBuffer. 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param f 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the float to append. 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(float) 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer append(float f) { 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return append(Float.toString(f)); 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the string representation of the specified integer to the end of 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this StringBuffer. 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param i 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the integer to append. 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(int) 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer append(int i) { 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return append(Integer.toString(i)); 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the string representation of the specified long to the end of this 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * StringBuffer. 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param l 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the long to append. 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(long) 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer append(long l) { 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return append(Long.toString(l)); 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the string representation of the specified object to the end of this 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * StringBuffer. 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified object is {@code null} the string {@code "null"} is 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * appended, otherwise the objects {@code toString} is used to get its 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * string representation. 1893819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param obj 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the object to append (may be null). 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see String#valueOf(Object) 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(Object obj) { 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (obj == null) { 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project appendNull(); 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } else { 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(obj.toString()); 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the specified string to the end of this buffer. 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified string is {@code null} the string {@code "null"} is 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * appended, otherwise the contents of the specified string is appended. 2093819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param string 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the string to append (may be null). 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(String string) { 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(string); 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the specified StringBuffer to the end of this buffer. 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified StringBuffer is {@code null} the string {@code "null"} 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is appended, otherwise the contents of the specified StringBuffer is 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * appended. 2253819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param sb 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the StringBuffer to append (may be null). 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 2293819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 2303819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.4 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(StringBuffer sb) { 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (sb == null) { 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project appendNull(); 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } else { 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project synchronized (sb) { 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(sb.getValue(), 0, sb.length()); 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the character array to the end of this buffer. 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param chars 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the character array to append. 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 2493819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @throws NullPointerException 2503819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * if {@code chars} is {@code null}. 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(char chars[]) { 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(chars); 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Adds the specified sequence of characters to the end of this buffer. 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param chars 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the character array to append. 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the starting offset. 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param length 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the number of characters. 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws ArrayIndexOutOfBoundsException 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code length < 0} , {@code start < 0} or {@code start + 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * length > chars.length}. 2703819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @throws NullPointerException 2713819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * if {@code chars} is {@code null}. 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(char chars[], int start, int length) { 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(chars, start, length); 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Appends the specified CharSequence to this buffer. 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified CharSequence is {@code null} the string {@code "null"} 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is appended, otherwise the contents of the specified CharSequence is 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * appended. 2843819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param s 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the CharSequence to append. 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 2883819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.5 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(CharSequence s) { 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (s == null) { 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project appendNull(); 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } else { 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(s.toString()); 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Appends the specified subsequence of the CharSequence to this buffer. 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified CharSequence is {@code null}, then the string {@code 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * "null"} is used to extract a subsequence. 3043819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param s 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the CharSequence to append. 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the inclusive start index. 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param end 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the exclusive end index. 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws IndexOutOfBoundsException 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code start} or {@code end} are negative, {@code start} 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is greater than {@code end} or {@code end} is greater than 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the length of {@code s}. 3163819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.5 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer append(CharSequence s, int start, int end) { 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project append0(s, start, end); 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Appends the string representation of the specified Unicode code point to 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the end of this buffer. 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The code point is converted to a {@code char[]} as defined by 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * {@link Character#toChars(int)}. 3293819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param codePoint 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the Unicode code point to encode and append. 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see Character#toChars(int) 3343819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.5 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer appendCodePoint(int codePoint) { 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return append(Character.toChars(codePoint)); 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized char charAt(int index) { 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.charAt(index); 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized int codePointAt(int index) { 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.codePointAt(index); 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized int codePointBefore(int index) { 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.codePointBefore(index); 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized int codePointCount(int beginIndex, int endIndex) { 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.codePointCount(beginIndex, endIndex); 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Deletes a range of characters. 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the offset of the first character. 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param end 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the offset one past the last character. 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code start < 0}, {@code start > end} or {@code end > 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * length()}. 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer delete(int start, int end) { 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project delete0(start, end); 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Deletes the character at the specified offset. 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param location 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the offset of the character to delete. 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this StringBuffer. 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code location < 0} or {@code location >= length()} 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer deleteCharAt(int location) { 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project deleteCharAt0(location); 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized void ensureCapacity(int min) { 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.ensureCapacity(min); 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 3953819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copies the requested sequence of characters to the {@code char[]} passed 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * starting at {@code idx}. 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the starting offset of characters to copy. 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param end 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the ending offset of characters to copy. 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param buffer 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the destination character array. 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param idx 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the starting offset in the character array. 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws IndexOutOfBoundsException 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code start < 0}, {@code end > length()}, {@code start > 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * end}, {@code index < 0}, {@code end - start > buffer.length - 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * index} 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized void getChars(int start, int end, char[] buffer, int idx) { 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.getChars(start, end, buffer, idx); 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized int indexOf(String subString, int start) { 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.indexOf(subString, start); 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the character into this buffer at the specified offset. 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param ch 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the character to insert. 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws ArrayIndexOutOfBoundsException 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer insert(int index, char ch) { 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project insert0(index, ch); 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string representation of the specified boolean into this 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * buffer at the specified offset. 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param b 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the boolean to insert. 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer insert(int index, boolean b) { 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return insert(index, b ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$ 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string representation of the specified integer into this 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * buffer at the specified offset. 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param i 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the integer to insert. 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer insert(int index, int i) { 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return insert(index, Integer.toString(i)); 469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string representation of the specified long into this buffer 473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * at the specified offset. 474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param l 478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the long to insert. 479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer insert(int index, long l) { 484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return insert(index, Long.toString(l)); 485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string representation of the specified into this buffer 489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * double at the specified offset. 490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param d 494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the double to insert. 495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer insert(int index, double d) { 500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return insert(index, Double.toString(d)); 501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string representation of the specified float into this buffer 505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * at the specified offset. 506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param f 510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the float to insert. 511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer insert(int index, float f) { 516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return insert(index, Float.toString(f)); 517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string representation of the specified object into this 521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * buffer at the specified offset. 522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified object is {@code null}, the string {@code "null"} is 524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * inserted, otherwise the objects {@code toString} method is used to get 525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * its string representation. 5263819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param obj 530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the object to insert (may be null). 531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public StringBuffer insert(int index, Object obj) { 536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return insert(index, obj == null ? "null" : obj.toString()); //$NON-NLS-1$ 537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the string into this buffer at the specified offset. 541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified string is {@code null}, the string {@code "null"} is 543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * inserted, otherwise the contents of the string is inserted. 5443819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param string 548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the string to insert (may be null). 549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer insert(int index, String string) { 554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project insert0(index, string); 555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the character array into this buffer at the specified offset. 560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param chars 564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the character array to insert. 565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 5683819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @throws NullPointerException 5693819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * if {@code chars} is {@code null}. 570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer insert(int index, char[] chars) { 572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project insert0(index, chars); 573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the specified subsequence of characters into this buffer at the 578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * specified index. 579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the index at which to insert. 582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param chars 583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the character array to insert. 584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the starting offset. 586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param length 587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the number of characters. 588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 5893819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @throws NullPointerException 5903819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * if {@code chars} is {@code null}. 591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code length < 0}, {@code start < 0}, {@code start + 593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * length > chars.length}, {@code index < 0} or {@code index > 594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * length()} 595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer insert(int index, char chars[], int start, 597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int length) { 598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project insert0(index, chars, start, length); 599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the specified CharSequence into this buffer at the specified 604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * index. 605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified CharSequence is {@code null}, the string {@code "null"} 607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is inserted, otherwise the contents of the CharSequence. 6083819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * 609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The index at which to insert. 611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param s 612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The char sequence to insert. 613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws IndexOutOfBoundsException 615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index < 0} or {@code index > length()}. 6163819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.5 617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer insert(int index, CharSequence s) { 619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project insert0(index, s == null ? "null" : s.toString()); //$NON-NLS-1$ 620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Inserts the specified subsequence into this buffer at the specified 625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * index. 626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p> 627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * If the specified CharSequence is {@code null}, the string {@code "null"} 628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is inserted, otherwise the contents of the CharSequence. 629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param index 631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The index at which to insert. 632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param s 633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The char sequence to insert. 634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The inclusive start index in the char sequence. 636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param end 637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The exclusive end index in the char sequence. 638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws IndexOutOfBoundsException 640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code index} is negative or greater than the current 641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * length, {@code start} or {@code end} are negative, {@code 642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * start} is greater than {@code end} or {@code end} is greater 643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * than the length of {@code s}. 6443819a76e7c1f49253f0e077bd497f149340c02b8Jesse Wilson * @since 1.5 645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer insert(int index, CharSequence s, 647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int start, int end) { 648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project insert0(index, s, start, end); 649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized int lastIndexOf(String subString, int start) { 654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.lastIndexOf(subString, start); 655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized int offsetByCodePoints(int index, int codePointOffset) { 659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.offsetByCodePoints(index, codePointOffset); 660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Replaces the characters in the specified range with the contents of the 664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * specified string. 665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param start 667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the inclusive begin index. 668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param end 669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the exclusive end index. 670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param string 671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the string that will replace the contents in the range. 672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws StringIndexOutOfBoundsException 674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if {@code start} or {@code end} are negative, {@code start} 675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is greater than {@code end} or {@code end} is greater than 676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the length of {@code s}. 677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer replace(int start, int end, String string) { 679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project replace0(start, end, string); 680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Reverses the order of characters in this buffer. 685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return this buffer. 687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized StringBuffer reverse() { 689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project reverse0(); 690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return this; 691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized void setCharAt(int index, char ch) { 695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.setCharAt(index, ch); 696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized void setLength(int length) { 700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.setLength(length); 701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized CharSequence subSequence(int start, int end) { 705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.substring(start, end); 706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized String substring(int start) { 710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.substring(start); 711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized String substring(int start, int end) { 715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.substring(start, end); 716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized String toString() { 720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return super.toString(); 721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public synchronized void trimToSize() { 725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.trimToSize(); 726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private synchronized void writeObject(ObjectOutputStream out) 729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throws IOException { 730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ObjectOutputStream.PutField fields = out.putFields(); 731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fields.put("count", length()); //$NON-NLS-1$ 732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fields.put("shared", false); //$NON-NLS-1$ 733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fields.put("value", getValue()); //$NON-NLS-1$ 734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project out.writeFields(); 735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private void readObject(ObjectInputStream in) throws IOException, 738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ClassNotFoundException { 739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ObjectInputStream.GetField fields = in.readFields(); 740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int count = fields.get("count", 0); //$NON-NLS-1$ 741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] value = (char[]) fields.get("value", null); //$NON-NLS-1$ 742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project set(value, count); 743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 745