public class AttributeValueBuilder {
public static AttributeValue build(String valueString,
public class AttributeValueBuilder {
public static AttributeValue build(String valueString,
int depth = findDepth(valueString);
if (0 == depth) {
return handleDepth0(valueString, valueType);
int depth = findDepth(valueString);
if (0 == depth) {
return handleDepth0(valueString, valueType);
valueString = valueString.substring(valueString.indexOf('[') + 1,
valueString.lastIndexOf(']'));
valueString = valueString.substring(valueString.indexOf('[') + 1,
valueString.lastIndexOf(']'));
for (int index = 0; index < valuesString.length; index++) {
if (null != valuesString[index]
&& !valuesString[index].isEmpty()) {
for (int index = 0; index < valuesString.length; index++) {
if (null != valuesString[index]
&& !valuesString[index].isEmpty()) {
for (int index = 0; index < valuesString.length; index++) {
if (null != valuesString[index]
&& !valuesString[index].isEmpty()) {
for (int index = 0; index < valuesString.length; index++) {
if (null != valuesString[index]
&& !valuesString[index].isEmpty()) {
for (int index = 0; index < valuesString.length; index++) {
if (null != valuesString[index]
&& !valuesString[index].isEmpty()) {
for (int index = 0; index < valuesString.length; index++) {
if (null != valuesString[index]
&& !valuesString[index].isEmpty()) {
if (valueType == AttributeValue.ValueType.INTEGER) {
Integer[][] result = new Integer[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
if (valueType == AttributeValue.ValueType.INTEGER) {
Integer[][] result = new Integer[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.DOUBLE) {
Double[][] result = new Double[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.DOUBLE) {
Double[][] result = new Double[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.BOOLEAN) {
Boolean[][] result = new Boolean[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.BOOLEAN) {
Boolean[][] result = new Boolean[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.STRING) {
String[][] result = new String[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.STRING) {
String[][] result = new String[valuesString.length][];
for (int index = 0; index < valuesString.length; index++) {
if (valueType == AttributeValue.ValueType.INTEGER) {
Integer[][][] result = new Integer[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
if (valueType == AttributeValue.ValueType.INTEGER) {
Integer[][][] result = new Integer[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
- Integer[][] value = (Integer[][]) handleDepth2(
- valuesString[index], valueType).get();
+ AttributeValue attValue = handleDepth2(valuesString[index],
+ valueType);
+ if (null == attValue)
+ return null;
+
+ Integer[][] value = (Integer[][]) attValue.get();
} else if (valueType == AttributeValue.ValueType.DOUBLE) {
Double[][][] result = new Double[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.DOUBLE) {
Double[][][] result = new Double[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
- Double[][] value = (Double[][]) handleDepth2(
- valuesString[index], valueType).get();
+ AttributeValue attValue = handleDepth2(valuesString[index],
+ valueType);
+ if (null == attValue)
+ return null;
+
+ Double[][] value = (Double[][]) attValue.get();
} else if (valueType == AttributeValue.ValueType.BOOLEAN) {
Boolean[][][] result = new Boolean[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.BOOLEAN) {
Boolean[][][] result = new Boolean[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
- Boolean[][] value = (Boolean[][]) handleDepth2(
- valuesString[index], valueType).get();
+ AttributeValue attValue = handleDepth2(valuesString[index],
+ valueType);
+ if (null == attValue)
+ return null;
+
+ Boolean[][] value = (Boolean[][]) attValue.get();
} else if (valueType == AttributeValue.ValueType.STRING) {
String[][][] result = new String[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
} else if (valueType == AttributeValue.ValueType.STRING) {
String[][][] result = new String[valuesString.length][][];
for (int index = 0; index < valuesString.length; index++) {
- String[][] value = (String[][]) handleDepth2(
- valuesString[index], valueType).get();
+ AttributeValue attValue = handleDepth2(valuesString[index],
+ valueType);
+ if (null == attValue)
+ return null;
+
+ String[][] value = (String[][]) attValue.get();