public WeightedSetDataType(String typeName, int code, DataType nestedType, boolean createIfNonExistent, boolean removeIfZero) { super(typeName != null ? createName(nestedType, createIfNonExistent, removeIfZero) : null, code, nestedType); if ((code >= 0) && (code <= DataType.lastPredefinedDataTypeId()) && (code != 18)) // 18 == DataType.TAG.getId() is not yet initialized throw new IllegalArgumentException("Cannot create a weighted set datatype with code " + code); this.createIfNonExistent = createIfNonExistent; this.removeIfZero = removeIfZero; }
private void buildConfig(DataTypeCollection type, DocumentmanagerConfig.Builder documentConfigBuilder, Set<DataType> built) { for (DataType dataType : type.getTypes()) { if (built.contains(dataType)) continue; built.add(dataType); if (dataType instanceof TemporaryStructuredDataType) continue; if ((dataType.getId() < 0) || (dataType.getId()> DataType.lastPredefinedDataTypeId())) { Datatype.Builder dataTypeBuilder = new Datatype.Builder(); documentConfigBuilder.datatype(dataTypeBuilder); buildConfig(dataType, dataTypeBuilder); } } }