public static FilteredHollowBlobWriterStreamAndFilter[] withType(String typeName, FilteredHollowBlobWriterStreamAndFilter[] allStreamAndFilters) { int countConfigsWithType = 0; for(int i=0;i<allStreamAndFilters.length;i++) { if(allStreamAndFilters[i].getConfig().doesIncludeType(typeName)) countConfigsWithType++; } FilteredHollowBlobWriterStreamAndFilter[] streamAndFiltersWithType = new FilteredHollowBlobWriterStreamAndFilter[countConfigsWithType]; int withTypeCounter = 0; for(int i=0;i<allStreamAndFilters.length;i++) { if(allStreamAndFilters[i].getConfig().doesIncludeType(typeName)) streamAndFiltersWithType[withTypeCounter++] = allStreamAndFilters[i]; } return streamAndFiltersWithType; }
HollowObjectSchema filteredObjectSchema = getFilteredObjectSchema(schema, streamAndFilters[i].getConfig()); filteredObjectSchemas[i] = filteredObjectSchema; filteredObjectSchema.writeTo(streamAndFilters[i].getStream()); List<DataOutputStream> streamsWithFieldList = new ArrayList<DataOutputStream>(); for(int j=0;j<streamAndFilters.length;j++) { ObjectFilterConfig objectTypeConfig = streamAndFilters[j].getConfig().getObjectTypeConfig(schema.getName()); if(objectTypeConfig.includesField(schema.getFieldName(i))) streamsWithFieldList.add(streamAndFilters[j].getStream());
List<HollowSchema> filteredSchemaList = getFilteredSchemaList(unfilteredSchemaList, streamAndFilter.getConfig()); header.setSchemas(filteredSchemaList); headerWriter.writeHeader(header, streamAndFilter.getStream());