public BDecimalArray(BigDecimal[] values) { this.values = values; this.size = values.length; super.arrayType = new BArrayType(BTypes.typeDecimal); }
@Override public BType getType() { return new BArrayType(BTypes.typeInt); }
private void setArrayElementType(BType type) { super.arrayType = new BArrayType(type); this.elementType = type; }
@Override public BType getArrayType(BType elementType, int size) { return new BArrayType(elementType, size); }
private State initNewArray() { if (currentJsonNode != null) { this.nodesStack.push(currentJsonNode); } currentJsonNode = new BValueArray(new BArrayType(BTypes.typeJSON)); return FIRST_ARRAY_ELEMENT_READY_STATE; }
private BValueArray createEmptyRefValueArray(BType type, int length) { List<BType> memberTypes = new ArrayList<>(2); memberTypes.add(type); memberTypes.add(BTypes.typeNull); BUnionType unionType = new BUnionType(memberTypes); return new BValueArray(new BRefType[length], new BArrayType(unionType)); }
public BDecimalArray(int size) { if (size != -1) { this.size = maxArraySize = size; } values = (BigDecimal[]) newArrayInstance(BigDecimal.class); super.arrayType = new BArrayType(BTypes.typeDecimal, size); }
BValueArray from(Object[] array) { BRefType[] backing = getBRefArray(array); return new BValueArray(backing, new BArrayType(BTypes.typeAny)); }
public BStreamingJSON(JSONDataSource datasource) { this.datasource = datasource; this.refValues = (BRefType[]) newArrayInstance(BRefType.class); this.arrayType = new BArrayType(BTypes.typeJSON); }
public BDecimalArray() { values = (BigDecimal[]) newArrayInstance(BigDecimal.class); super.arrayType = new BArrayType(BTypes.typeDecimal); }
public static BType fromString(String typeName) { if (typeName.endsWith("[]")) { String elementTypeName = typeName.substring(0, typeName.length() - 2); BType elemType = fromString(elementTypeName); return new BArrayType(elemType); } return getTypeFromName(typeName); } }
@Override public BRefType<?> build() { BValueArray values = new BValueArray(new BArrayType(BTypes.typeJSON)); while (this.hasNext()) { values.append(this.next()); } return values; }
private BMap<String, BValue> listToBValue(List list) { BValueArray array = new BValueArray(new BArrayType(BTypes.typeAny)); for (Object item : list) { array.append(toBValue(item, null)); } BMap<String, BValue> bMap = wrapWithTypeMetadata(JsonSerializerConst.LIST_TAG, array); bMap.put(JsonSerializerConst.LENGTH_TAG, new BInteger(list.size())); return bMap; }
/** * Convert {@link BValueArray} to JSON. * * @param booleanArray {@link BValueArray} to be converted to JSON * @return JSON representation of the provided booleanArray */ private static BValueArray convertBooleanArrayToJSON(BValueArray booleanArray) { BValueArray json = new BValueArray(new BArrayType(BTypes.typeJSON)); for (int i = 0; i < booleanArray.size(); i++) { int value = booleanArray.getBoolean(i); json.append(new BBoolean(value == 1)); } return json; }
private BMap<String, BValue> arrayToBValue(Object array) { BValueArray bArray = new BValueArray(new BArrayType(BTypes.typeAny)); int arrayLength = Array.getLength(array); for (int i = 0; i < arrayLength; i++) { bArray.append(toBValue(Array.get(array, i), null)); } BMap<String, BValue> bMap = wrapWithTypeMetadata(JsonSerializerConst.ARRAY_TAG, bArray); bMap.put(JsonSerializerConst.LENGTH_TAG, new BInteger(arrayLength)); Class<?> componentType = array.getClass().getComponentType(); String trimmedName = getTrimmedClassName(componentType); bMap.put(JsonSerializerConst.COMPONENT_TYPE, createBString(trimmedName)); return bMap; }
@Override public BPacket toBValue(HashSet set, BValueSerializer serializer) { BValueArray array = new BValueArray(new BArrayType(BTypes.typeAny)); for (Object item : set) { array.append((BRefType) serializer.toBValue(item, null)); } return BPacket .from(typeName(), array) .put(JsonSerializerConst.LENGTH_TAG, new BInteger(set.size())); }
@Override public BPacket toBValue(ArrayList list, BValueSerializer serializer) { BValueArray array = new BValueArray(new BArrayType(BTypes.typeAny)); for (Object item : list) { array.append((BRefType) serializer.toBValue(item, null)); } return BPacket .from(typeName(), array) .put(JsonSerializerConst.LENGTH_TAG, new BInteger(list.size())); }
@Override public BXMLSequence toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BValueArray srcArray = (BValueArray) packet.getValue(); BRefType[] values = new BRefType[(int) srcArray.size()]; for (int i = 0; i < srcArray.size(); i++) { values[i] = (BXML<?>) bValueDeserializer.deserialize(srcArray.getRefValue(i), Object.class); } BValueArray xmlItemArray = new BValueArray(values, new BArrayType(BTypes.typeXML)); return new BXMLSequence(xmlItemArray); } }
@Override @SuppressWarnings("unchecked") public BArrayType toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BType elemType = (BType) bValueDeserializer.deserialize(packet.get(ELEM_TYPE), BType.class); int size = (int) ((BInteger) packet.get(SIZE)).intValue(); return new BArrayType(elemType, size); } }
@Override public BPacket toBValue(BXMLSequence bxmlSequence, BValueSerializer serializer) { BRefType[] serializedItems = new BRefType[bxmlSequence.length()]; for (int i = 0; i < bxmlSequence.length(); i++) { BRefType value = (BRefType) serializer.toBValue(bxmlSequence.value().getRefValue(i), null); serializedItems[i] = value; } BValueArray array = new BValueArray(serializedItems, new BArrayType(BTypes.typeAny)); return BPacket.from(typeName(), array); }