groovy.json.internal.Chr Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of groovy-json Show documentation
Show all versions of groovy-json Show documentation
Groovy: A powerful, dynamic language for the JVM
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package groovy.json.internal;
/**
* @author Rick Hightower
*/
public class Chr {
public static char[] array(final char... array) {
return array;
}
public static char[] chars(final String array) {
return array.toCharArray();
}
public static boolean in(char value, char[] array) {
for (char currentValue : array) {
if (currentValue == value) {
return true;
}
}
return false;
}
public static boolean in(int value, char[] array) {
for (int currentValue : array) {
if (currentValue == value) {
return true;
}
}
return false;
}
public static boolean in(char value, int offset, char[] array) {
for (int index = offset; index < array.length; index++) {
char currentValue = array[index];
if (currentValue == value) {
return true;
}
}
return false;
}
public static boolean in(char value, int offset, int end, char[] array) {
for (int index = offset; index < end; index++) {
char currentValue = array[index];
if (currentValue == value) {
return true;
}
}
return false;
}
public static char[] grow(char[] array, final int size) {
char[] newArray = new char[array.length + size];
arraycopy(array, 0, newArray, 0, array.length);
return newArray;
}
public static char[] grow(char[] array) {
char[] newArray = new char[array.length * 2];
arraycopy(array, 0, newArray, 0, array.length);
return newArray;
}
public static char[] copy(char[] array) {
char[] newArray = new char[array.length];
arraycopy(array, 0, newArray, 0, array.length);
return newArray;
}
public static char[] copy(char[] array, int offset, int length) {
char[] newArray = new char[length];
arraycopy(array, offset, newArray, 0, length);
return newArray;
}
public static char[] add(char[] array, char v) {
char[] newArray = new char[array.length + 1];
arraycopy(array, 0, newArray, 0, array.length);
newArray[array.length] = v;
return newArray;
}
public static char[] add(char[] array, String str) {
return add(array, str.toCharArray());
}
public static char[] add(char[] array, StringBuilder stringBuilder) {
return add(array, getCharsFromStringBuilder(stringBuilder));
}
public static char[] add(char[] array, char[] array2) {
char[] newArray = new char[array.length + array2.length];
arraycopy(array, 0, newArray, 0, array.length);
arraycopy(array2, 0, newArray, array.length, array2.length);
return newArray;
}
/* End universal methods. */
private static char[] getCharsFromStringBuilder(StringBuilder sbuf) {
final int length = sbuf.length();
char[] array2 = new char[length];
sbuf.getChars(0, length, array2, 0);
return array2;
}
public static char[] lpad(final char[] in, final int size, char pad) {
if (in.length >= size) {
return in;
}
int delta = size - in.length;
int index = 0;
char[] newArray = new char[size];
for (; index < delta; index++) {
newArray[index] = pad;
}
for (int index2 = 0; index2 < in.length; index++, index2++) {
newArray[index] = in[index2];
}
return newArray;
}
public static boolean contains(char[] chars, char c, int start, final int length) {
final int to = length + start;
for (int index = start; index < to; index++) {
char ch = chars[index];
if (ch == c) {
return true;
}
}
return false;
}
public static void _idx(char[] buffer, int location, byte[] chars) {
int index2 = 0;
int endLocation = (location + chars.length);
for (int index = location; index < endLocation; index++, index2++) {
buffer[index] = (char) chars[index2];
}
}
public static void _idx(final char[] array, int startIndex, char[] input) {
try {
arraycopy(input, 0, array, startIndex, input.length);
} catch (Exception ex) {
Exceptions.handle(String.format("array size %d, startIndex %d, input length %d",
array.length, startIndex, input.length), ex);
}
}
private static void arraycopy(final char[] src, final int srcPos, final char[] dest, final int destPos, final int length) {
System.arraycopy(src, srcPos, dest, destPos, length);
}
public static void _idx(final char[] array, int startIndex, char[] input, final int inputLength) {
try {
arraycopy(input, 0, array, startIndex, inputLength);
} catch (Exception ex) {
Exceptions.handle(String.format("array size %d, startIndex %d, input length %d",
array.length, startIndex, input.length), ex);
}
}
public static void _idx(char[] buffer, int location, byte[] chars, int start, int end) {
int index2 = start;
int endLocation = (location + (end - start));
for (int index = location; index < endLocation; index++, index2++) {
buffer[index] = (char) chars[index2];
}
}
public static char[] add(char[]... strings) {
int length = 0;
for (char[] str : strings) {
if (str == null) {
continue;
}
length += str.length;
}
CharBuf builder = CharBuf.createExact(length);
for (char[] str : strings) {
if (str == null) {
continue;
}
builder.add(str);
}
return builder.toCharArray();
}
}