@Override public int next() { if(currentElement == size) return NO_MORE_ORDINALS; return dataAccess.getElementOrdinal(listOrdinal, currentElement++); }
@Override public HollowListSchema getSchema() { return dataAccess.getSchema(); }
private HollowListCachedDelegate(HollowListTypeDataAccess dataAccess, HollowListTypeAPI typeAPI, int ordinal) { int ordinals[] = new int[dataAccess.size(ordinal)]; for(int i=0;i<ordinals.length;i++) ordinals[i] = dataAccess.getElementOrdinal(ordinal, i); this.ordinals = ordinals; this.dataAccess = dataAccess; this.typeAPI = typeAPI; }
private void appendListStringify(Writer writer, HollowDataAccess dataAccess, HollowListTypeDataAccess typeDataAccess, int ordinal, int indentation) throws IOException { HollowListSchema schema = typeDataAccess.getSchema(); if(showTypes) writer.append("(").append(schema.getName()).append(")"); if(showOrdinals) writer.append(" (ordinal ").append(Integer.toString(ordinal)).append(")"); indentation++; int size = typeDataAccess.size(ordinal); String elementType = schema.getElementType(); for(int i=0;i<size;i++) { writer.append(NEWLINE); int elementOrdinal = typeDataAccess.getElementOrdinal(ordinal, i); appendIndentation(writer, indentation); writer.append("e" + i + ": "); appendStringify(writer, dataAccess, elementType, elementOrdinal, indentation); } }
public HollowListOrdinalIterator(int listOrdinal, HollowListTypeDataAccess dataAccess) { this.listOrdinal = listOrdinal; this.dataAccess = dataAccess; this.size = dataAccess.size(listOrdinal); }
public HollowOrdinalIterator getOrdinalIterator(int ordinal) { return getTypeDataAccess().ordinalIterator(ordinal); }
@Override public HollowRecord instantiateElement(int elementOrdinal) { return GenericHollowRecordHelper.instantiate(getTypeDataAccess().getDataAccess(), getSchema().getElementType(), elementOrdinal); }
private void appendListStringify(Writer writer, HollowDataAccess dataAccess, HollowListTypeDataAccess typeDataAccess, int ordinal, int indentation) throws IOException { HollowListSchema schema = typeDataAccess.getSchema(); indentation++; int size = typeDataAccess.size(ordinal); if(size == 0) { writer.append("[]"); } else { writer.append("[\n"); String elementType = schema.getElementType(); for(int i=0;i<size;i++) { int elementOrdinal = typeDataAccess.getElementOrdinal(ordinal, i); if(prettyPrint) appendIndentation(writer, indentation); appendStringify(writer, dataAccess, elementType, elementOrdinal, indentation); if(i < size - 1) writer.append(",\n"); } if(prettyPrint) { writer.append(NEWLINE); appendIndentation(writer, indentation - 1); } writer.append("]"); } }
@Override public int size(int ordinal) { return dataAccess.size(ordinal); }
@Override public HollowOrdinalIterator ordinalIterator(int ordinal) { sampler().recordIterator(); recordStackTrace(); if(!ordinalIsPresent(ordinal)) return ((HollowListTypeDataAccess)dataAccess.getTypeDataAccess(getSchema().getName(), ordinal)).ordinalIterator(ordinal); return removedRecords().ordinalIterator(getMappedOrdinal(ordinal)); }
@Override public T get(HollowList<T> list, int ordinal, int index) { int elementOrdinal = dataAccess.getElementOrdinal(ordinal, index); return list.instantiateElement(elementOrdinal); }
@Override public int doTraversal(int ordinal) { if(child == null) return 1; int size = dataAccess().size(ordinal); int numMatches = 0; for(int i=0;i<size;i++) { prepareMultiply(); child.traverse(dataAccess().getElementOrdinal(ordinal, i)); numMatches += doMultiply(); } return numMatches; }
@Override public int size(int ordinal) { return currentDataAccess().size(ordinal); }
@Override public HollowListSchema getSchema() { return dataAccess.getSchema(); }
@Override public int getElementOrdinal(int ordinal, int listIndex) { return currentDataAccess().getElementOrdinal(ordinal, listIndex); }
public int size(int ordinal) { return getTypeDataAccess().size(ordinal); }
@Override public HollowListSchema getSchema() { return currentDataAccess().getSchema(); }
public int getElementOrdinal(int ordinal, int listIdx) { return getTypeDataAccess().getElementOrdinal(ordinal, listIdx); }
@Override public int size(int ordinal) { sampler().recordSize(); recordStackTrace(); if(!ordinalIsPresent(ordinal)) return ((HollowListTypeDataAccess)dataAccess.getTypeDataAccess(getSchema().getName(), ordinal)).size(ordinal); return removedRecords().size(getMappedOrdinal(ordinal)); }
@Override public final int lastIndexOf(HollowList<T> list, int ordinal, Object o) { int size = size(ordinal); for(int i=size - 1; i>=0; i--) { int elementOrdinal = dataAccess.getElementOrdinal(ordinal, i); if(list.equalsElement(elementOrdinal, o)) return i; } return -1; }