public AbstractCollectionDataGenerator(AbstractCollectionType act, int min, int max) { this.act = act; this.min = min; this.max = max; if (act.getTypeTag() == ATypeTag.ARRAY) { startList = "["; endList = "]"; } else { startList = "{{"; endList = "}}"; } }
private int getNumItems(AbstractCollectionType listType, byte[] listBytes, int offset) { if (listType.getTypeTag() == ATypeTag.ARRAY) { return AOrderedListSerializerDeserializer.getNumberOfItems(listBytes, offset); } else { return AUnorderedListSerializerDeserializer.getNumberOfItems(listBytes, offset); } }
public void castList(AListVisitablePointable listAccessor, IVisitablePointable resultAccessor, AbstractCollectionType reqType, ACastVisitor visitor) throws HyracksDataException { if (reqType.getTypeTag().equals(ATypeTag.MULTISET)) { unOrderedListBuilder.reset(reqType); reqItemType = reqType.getItemType(); if (reqType.getTypeTag().equals(ATypeTag.ARRAY)) { orderedListBuilder.reset(reqType); reqItemType = reqType.getItemType(); if (reqType.getTypeTag().equals(ATypeTag.ARRAY)) { orderedListBuilder.addItem(itemVisitorArg.first); if (reqType.getTypeTag().equals(ATypeTag.MULTISET)) { unOrderedListBuilder.addItem(itemVisitorArg.first); if (reqType.getTypeTag().equals(ATypeTag.ARRAY)) { orderedListBuilder.write(dataDos, true); if (reqType.getTypeTag().equals(ATypeTag.MULTISET)) { unOrderedListBuilder.write(dataDos, true);
if (!listTag.isListType()) { returnNull = true; } else if (outList != null && outList.getTypeTag() != listTag) { throw new RuntimeDataException(ErrorCode.DIFFERENT_LIST_TYPE_ARGS, sourceLocation); } else { if (outList.getTypeTag() == ATypeTag.ARRAY) { if (orderedListBuilder == null) { orderedListBuilder = new OrderedListBuilder();
if (!listTag.isListType()) { returnNull = true; } else if (outList != null && outList.getTypeTag() != listTag) { throw new RuntimeDataException(ErrorCode.DIFFERENT_LIST_TYPE_ARGS, sourceLoc); } else { if (outList.getTypeTag() == ATypeTag.ARRAY) { if (orderedListBuilder == null) { orderedListBuilder = new OrderedListBuilder();