public boolean isFixedType(AbstractCollectionType inputType) { return NonTaggedFormatUtil.isFixedSizedCollection(inputType.getItemType()); }
public static final boolean isFixedSizedCollection(IAType type) { switch (type.getTypeTag()) { case UNION: if (!((AUnionType) type).isUnknownableType()) { return false; } else { return isFixedSizedCollection(((AUnionType) type).getActualType()); } default: return isFixedSizedCollection(type.getTypeTag()); } }
numberOfitems = in.readInt(); if (numberOfitems > 0) { if (!NonTaggedFormatUtil.isFixedSizedCollection(currentItemType)) { for (int i = 0; i < numberOfitems; i++) { in.readInt();
ArrayList<IAObject> items = new ArrayList<>(); if (numberOfitems > 0) { if (!NonTaggedFormatUtil.isFixedSizedCollection(currentItemType)) { for (int i = 0; i < numberOfitems; i++) { in.readInt();
public static int getItemOffset(byte[] serOrderedList, int offset, int itemIndex) throws HyracksDataException { if (serOrderedList[offset] == ATypeTag.ARRAY.serialize()) { ATypeTag typeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(serOrderedList[offset + 1]); if (NonTaggedFormatUtil.isFixedSizedCollection(typeTag)) { int length = NonTaggedFormatUtil.getFieldValueLength(serOrderedList, offset + 1, typeTag, true); return offset + 10 + (length * itemIndex); } else { return offset + AInt32SerializerDeserializer.getInt(serOrderedList, offset + 10 + (4 * itemIndex)); } // 10 = tag (1) + itemTag (1) + list size (4) + number of items (4) } else { return -1; } }
public static int getItemOffset(byte[] serOrderedList, int offset, int itemIndex) throws HyracksDataException { if (serOrderedList[offset] == ATypeTag.MULTISET.serialize()) { ATypeTag typeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(serOrderedList[offset + 1]); if (NonTaggedFormatUtil.isFixedSizedCollection(typeTag)) { int length = NonTaggedFormatUtil.getFieldValueLength(serOrderedList, offset + 1, typeTag, true); return offset + 10 + (length * itemIndex); } else { return offset + AInt32SerializerDeserializer.getInt(serOrderedList, offset + 10 + (4 * itemIndex)); } // 10 = tag (1) + itemTag (1) + list size (4) + number of items (4) } else { return -1; } } }
@Override public void reset(AbstractCollectionType listType) { this.outputStorage.reset(); this.offsetArray = null; this.offsets.clear(); this.offsetPosition = 0; this.numberOfItems = 0; if (listType == null || listType.getItemType() == null) { this.itemTypeTag = ATypeTag.ANY; fixedSize = false; } else { this.itemTypeTag = listType.getItemType().getTypeTag(); fixedSize = NonTaggedFormatUtil.isFixedSizedCollection(listType.getItemType()); } headerSize = 2; metadataInfoSize = 8; }
int itemOffset; if (typedItemList && NonTaggedFormatUtil.isFixedSizedCollection(itemTag)) { itemOffset = s + 10; } else {