public Builder(Documenttype config) { id(config.id()); name(config.name()); version(config.version()); headerstruct(config.headerstruct()); bodystruct(config.bodystruct()); for (Inherits i : config.inherits()) { inherits(new Inherits.Builder(i)); } for (Datatype d : config.datatype()) { datatype(new Datatype.Builder(d)); } for (Annotationtype a : config.annotationtype()) { annotationtype(new Annotationtype.Builder(a)); } for (Map.Entry<String, Fieldsets> __entry : config.fieldsets().entrySet()) { fieldsets(__entry.getKey(), new Fieldsets.Builder(__entry.getValue())); } for (Referencetype r : config.referencetype()) { referencetype(new Referencetype.Builder(r)); } }
private void buildConfig(NewDocumentType documentType, DocumenttypesConfig.Builder builder) { if (documentType == VespaDocumentType.INSTANCE) { return; } DocumenttypesConfig.Documenttype.Builder db = new DocumenttypesConfig.Documenttype.Builder(); db. id(documentType.getId()). name(documentType.getName()). headerstruct(documentType.getHeader().getId()). bodystruct(documentType.getBody().getId()); Set<Integer> built = new HashSet<>(); for (NewDocumentType inherited : documentType.getInherited()) { db.inherits(new DocumenttypesConfig.Documenttype.Inherits.Builder().id(inherited.getId())); markAsBuilt(built, inherited.getAllTypes()); } for (DataType dt : documentType.getTypes()) { buildConfig(dt, db, built); } for (AnnotationType annotation : documentType.getAnnotations()) { DocumenttypesConfig.Documenttype.Annotationtype.Builder atb = new DocumenttypesConfig.Documenttype.Annotationtype.Builder(); db.annotationtype(atb); buildConfig(annotation, atb); } buildConfig(documentType.getFieldSets(), db); builder.documenttype(db); }