/*license*\
XBN-Java: Copyright (C) 2014, Jeff Epstein (aliteralmind __DASH__ github __AT__ yahoo __DOT__ com)
This software is dual-licensed under the:
- Lesser General Public License (LGPL) version 3.0 or, at your option, any later version;
- Apache Software License (ASL) version 2.0.
Either license may be applied at your discretion. More information may be found at
- http://en.wikipedia.org/wiki/Multi-licensing.
The text of both licenses is available in the root directory of this project, under the names "LICENSE_lgpl-3.0.txt" and "LICENSE_asl-2.0.txt". The latest copies may be downloaded at:
- LGPL 3.0: https://www.gnu.org/licenses/lgpl-3.0.txt
- ASL 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt
\*license*/
package com.github.xbn.array.primitive;
import com.github.xbn.array.NullContainer;
import com.github.xbn.array.IndexableUtil;
import org.apache.commons.lang3.ArrayUtils;
/**
<p>Translate a primitive array to a string array.</p>
* @since 0.1.0
* @author Copyright (C) 2014, Jeff Epstein ({@code aliteralmind __DASH__ github __AT__ yahoo __DOT__ com}), dual-licensed under the LGPL (version 3.0 or later) or the ASL (version 2.0). See source code for details. <a href="http://xbnjava.aliteralmind.com">{@code http://xbnjava.aliteralmind.com}</a>, <a href="https://github.com/aliteralmind/xbnjava">{@code https://github.com/aliteralmind/xbnjava}</a>
**/
public class StringArrayFromPrimitive {
/**
<p>This constructor does nothing.</p>
*/
public StringArrayFromPrimitive() {
}
/**
<p>Convert a primitive array <i>of any type</i> to an array of {@code java.lang.String}-s.</p>
* @param objThatIsAPArray If non-{@code null}, must be an array of a primitive type ({@code boolean}, {@code char}, {@code int}, ...).
* @return If {@code objThatIsAPArray} is <ul>
<li>{@code null}: {@code null}</li>
<li>Otherwise (for example), if {@code objThatIsAPArray} is a {@code boolean} array:
<br/> {@link #get(boolean[], NullContainer, String) get}{@code ((b[])objThatIsAPArray)}</li>
</ul>
* @see com.github.xbn.array.primitive.ObjThatIsPrimitiveArrayUtil#isPrimitive(Object) ObjThatIsPrimitiveArrayUtil#isPrimitive(o)
*/
public static final String[] getFromUnknown(Object objThatIsAPArray, NullContainer nnull, String cntrName_forNullBad){
if(objThatIsAPArray == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(objThatIsAPArray instanceof boolean[]) {
return get((boolean[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof char[]) {
return get((char[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof byte[]) {
return get((byte[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof short[]) {
return get((short[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof int[]) {
return get((int[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof long[]) {
return get((long[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof float[]) {
return get((float[])objThatIsAPArray, nnull, null);
} else if(objThatIsAPArray instanceof double[]) {
return get((double[])objThatIsAPArray, nnull, null);
} else {
throw new IllegalArgumentException("isPrimitive(objThatIsAPArray) is false (actually: " + ObjThatIsPrimitiveArrayUtil.isPrimitive(objThatIsAPArray) + ")");
}
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code boolean}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(char[], NullContainer, String) get(c[], String)
* @see #get(byte[], NullContainer, String) getStringFromPByte(y[])
* @see #get(short[], NullContainer, String) getStringFromPShort(h[])
* @see #get(int[], NullContainer, String) get(i[], String)
* @see #get(long[], NullContainer, String) getStringFromPLong(l[])
* @see #get(float[], NullContainer, String) getStringFromPFloat(f[])
* @see #get(double[], NullContainer, String) getStringFromPDouble(d[])
*/
public static final String[] get(boolean[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code char}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(char[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code byte}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(byte[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code short}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(short[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code int}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(int[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code long}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(long[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code float}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(float[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
/**
<p>Get a {@code java.lang.String} array from an array of {@code double}-s.</p>
* @return If {@code prmtv_array} is<ul>
<li>{@code null}: {@code null}</li>
<li>non-{@code null} and has no elements: <code>org.apache.commons.lang3.{@link org.apache.commons.lang3.ArrayUtils ArrayUtils}.{@link org.apache.commons.lang3.ArrayUtils#EMPTY_STRING_ARRAY EMPTY_STRING_ARRAY}</code></li>
<li>Otherwise: A new {@code String} array containing all elements in {@code prmtv_array}.</li>
</ul>
* @see #get(boolean[], NullContainer, String) get(boolean[], String)
*/
public static final String[] get(double[] prmtv_array, NullContainer nnull, String cntrName_forNullBad) {
if(prmtv_array == null) {
IndexableUtil.crashIfContainerIsNullAndThatIsBad(nnull, cntrName_forNullBad);
return null;
}
if(prmtv_array.length == 0) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
String[] as = new String[prmtv_array.length];
for(int i = 0; i < prmtv_array.length; i++) {
as[i] = String.valueOf(prmtv_array[i]);
}
return as;
}
}