@Override public boolean hasNext() { return cursor < value.sequence.size(); } }
/** * Create and populate array using {@param valueArray} and target type. * * @param valueArray source containing array data. * @param targetType destination array type. * @return new array of targetType type, filled with data from valueArray. */ private Object deserializeBRefValueArray(BValueArray valueArray, Class<?> targetType) { int size = (int) valueArray.size(); Class<?> componentType = targetType.getComponentType(); Object target = Array.newInstance(componentType, size); return deserializeBRefValueArray(valueArray, target); }
/** * {@inheritDoc} */ @Override public BBoolean isSingleton() { return new BBoolean(sequence.size() == 1); }
/** * {@inheritDoc} */ @Override public void setAttribute(String localName, String namespace, String prefix, String value) { if (sequence.size() == 1) { ((BXMLItem) sequence.getRefValue(0)).setAttribute(localName, namespace, prefix, value); } }
/** * {@inheritDoc} */ @Override public void build() { for (int i = 0; i < sequence.size(); i++) { ((BXML<?>) sequence.getRefValue(i)).build(); } }
/** * {@inheritDoc} */ @Override public String getAttribute(String localName, String namespace) { if (sequence.size() == 1) { return ((BXMLItem) sequence.getRefValue(0)).getAttribute(localName, namespace); } return STRING_NULL_VALUE; }
/** * {@inheritDoc} */ @Override public void serialize(OutputStream outputStream) { for (int i = 0; i < sequence.size(); i++) { ((BXML<?>) sequence.getRefValue(i)).serialize(outputStream); } }
/** * {@inheritDoc} */ @Override public BString getElementName() { if (sequence.size() == 1) { return ((BXMLItem) sequence.getRefValue(0)).getElementName(); } return BTypes.typeString.getZeroValue(); }
@SuppressWarnings("unchecked") @Override public HashSet toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BInteger length = (BInteger) packet.get(JsonSerializerConst.LENGTH_TAG); BValueArray array = (BValueArray) packet.getValue(); HashSet set = new HashSet((int) length.intValue()); for (int i = 0; i < array.size(); i++) { set.add(bValueDeserializer.deserialize(array.getRefValue(i), null)); } return set; } }
@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); } }
/** * {@inheritDoc} */ @Override public BString getItemType() { if (sequence.size() == 1) { return ((BXMLItem) sequence.getRefValue(0)).getItemType(); } return new BString(XMLNodeType.SEQUENCE.value()); }
private static BValueArray jsonArrayToBStringArray(BValueArray arrayNode) { BValueArray stringArray = new BValueArray(BTypes.typeString); for (int i = 0; i < arrayNode.size(); i++) { BRefType<?> jsonValue = arrayNode.getRefValue(i); String value = jsonValue.stringValue(); stringArray.add(i, value); } return stringArray; }
/** * {@inheritDoc} */ @Override public BMap<?, ?> getAttributesMap() { if (sequence.size() == 1) { return ((BXMLItem) sequence.getRefValue(0)).getAttributesMap(); } return new BMap<>(new BMapType(BTypes.typeString)); }
public SerializableBRefArray(BValueArray bRefValueArray, SerializableState state) { BArrayType arrayType = (BArrayType) bRefValueArray.getType(); if (arrayType != null) { structName = arrayType.getElementType().getName(); pkgPath = arrayType.getElementType().getPackagePath(); } for (int i = 0; i < bRefValueArray.size(); i++) { values.add(state.serialize(bRefValueArray.getRefValue(i))); } }
@Override public void setAttributes(BMap<String, ?> attributes) { synchronized (this) { if (freezeStatus.getState() != BVM.FreezeStatus.State.UNFROZEN) { handleInvalidUpdate(freezeStatus.getState()); } } if (sequence.size() == 1) { ((BXMLItem) sequence.getRefValue(0)).setAttributes(attributes); } }
private static BValueArray jsonArrayToBIntArray(BValueArray arrayNode) { BValueArray intArray = new BValueArray(BTypes.typeInt); for (int i = 0; i < arrayNode.size(); i++) { BRefType<?> jsonValue = arrayNode.getRefValue(i); intArray.add(i, ((BInteger) convertJSON(jsonValue, BTypes.typeInt)).intValue()); } return intArray; }
private static BValueArray jsonArrayToBFloatArray(BValueArray arrayNode) { BValueArray floatArray = new BValueArray(BTypes.typeFloat); for (int i = 0; i < arrayNode.size(); i++) { BRefType<?> jsonValue = arrayNode.getRefValue(i); floatArray.add(i, ((BFloat) convertJSON(jsonValue, BTypes.typeFloat)).floatValue()); } return floatArray; }
@Override public void removeChildren(String qname) { synchronized (this) { if (freezeStatus.getState() != BVM.FreezeStatus.State.UNFROZEN) { handleInvalidUpdate(freezeStatus.getState()); } } if (sequence.size() != 1) { throw new BallerinaException("not an " + XMLNodeType.ELEMENT); } ((BXMLItem) sequence.getRefValue(0)).removeChildren(qname); }
@Override public void removeAttribute(String qname) { synchronized (this) { if (freezeStatus.getState() != BVM.FreezeStatus.State.UNFROZEN) { handleInvalidUpdate(freezeStatus.getState()); } } if (sequence.size() != 1) { throw new BallerinaException("not an " + XMLNodeType.ELEMENT); } ((BXMLItem) sequence.getRefValue(0)).removeAttribute(qname); }