protected CompositeType registerFacet(String name, Set<String> schemaNames) { List<Schema> facetSchemas = new ArrayList<>(schemaNames.size()); for (String schemaName : schemaNames) { Schema schema = schemas.get(schemaName); if (schema == null) { log.error("Facet: " + name + " uses unknown schema: " + schemaName); continue; } facetSchemas.add(schema); } CompositeType ct = new CompositeTypeImpl(null, SchemaNames.FACETS, name, facetSchemas); facets.put(name, ct); return ct; }
/** * Constructs a composite type. Schemas must include those from the super type. */ public CompositeTypeImpl(CompositeType superType, String schema, String name, List<Schema> schemaList) { super(superType, schema, name); if (schemaList == null) { schemaList = Collections.emptyList(); } for (Schema s : schemaList) { schemas.put(s.getName(), s); for (Field field : s.getFields()) { addField(field); } } }