public JSONExtractor(boolean writeDot) { extractor = new JSONExtractorImpl(writeDot); }
@Override public void addToStruct(StructRegistry schema, int structId) { extractor.addToStruct(schema, structId); }
@Override public int[] getIndexPositions() { return extractor.getIndexPositions(); }
public <T extends Enum<T>> JSONTable<P> integerField(JSONAligned isAligned, JSONAccumRule accumRule, String extractionPath, T field) { extractor.newPath(JSONType.TypeInteger, isAligned, accumRule); extractor.completePath(extractionPath, field.name(), field); return this; }
@Override public JSONExtractorUber completePath(String extractionPath, String pathName) { //can only call newPath next parseExtractionPath(extractionPath); activeMapping.setName(pathName); activeMapping.setPath(schema, path.toArray(new CharSequence[path.size()])); schema.addMappings(activeMapping); return this; }
public JSONPath<JSONTable<P>> element(JSONType type, boolean isAligned, JSONAccumRule accumRule) { JSONExtractorActive active = extractor.newPath(type, isAligned, accumRule); return new JSONPath<JSONTable<P>>(active) { @Override JSONTable <P> pathEnded() { return JSONTable.this; } }; }
@Override public JSONStreamVisitorToChannel newJSONVisitor() { return extractor.newJSONVisitor(); }
@Override public TrieParser trieParser() { return extractor.trieParser(); }
@Override public int getStructId() { return extractor.getStructId(); }
@Override public void debugSchema() { extractor.debugSchema(); }
public <T extends Enum<T>> JSONTable<P> stringField(JSONAligned isAligned, JSONAccumRule accumRule, String extractionPath, T field) { extractor.newPath(JSONType.TypeString, isAligned, accumRule); extractor.completePath(extractionPath, field.name(), field); return this; }
@Override public JSONExtractorUber completePath(String extractionPath, String pathName) { //can only call newPath next parseExtractionPath(extractionPath); activeMapping.setName(pathName); activeMapping.setPath(schema, path.toArray(new CharSequence[path.size()])); schema.addMappings(activeMapping); return this; }
public JSONExtractorActive newPath(JSONType type) { return newPath(type, false); }
@Override public JSONStreamVisitorToChannel newJSONVisitor() { return extractor.newJSONVisitor(); }
@Override public TrieParser trieParser() { return extractor.trieParser(); }
@Override public int getStructId() { return extractor.getStructId(); }
@Override public void debugSchema() { extractor.debugSchema(); }
public <T extends Enum<T>> JSONTable<P> stringField(JSONAligned isAligned, JSONAccumRule accumRule, String extractionPath, T field, JSONRequired required, Object validator) { extractor.newPath(JSONType.TypeString, isAligned, accumRule); extractor.completePath(extractionPath, field.name(), field, required, validator); return this; }
@Override public JSONExtractorUber completePath(String extractionPath, String pathName) { //can only call newPath next parseExtractionPath(extractionPath); activeMapping.setName(pathName); activeMapping.setPath(schema, path.toArray(new CharSequence[path.size()])); schema.addMappings(activeMapping); return this; }
@Override public void addToStruct(StructRegistry schema, int structId) { extractor.addToStruct(schema, structId); }