@Override public EnumTypeDefinition buildType() { final Map<String, EnumPair> map = builder.build(); final Map<Integer, EnumPair> positionMap = new HashMap<>(); for (EnumPair p : map.values()) { final EnumPair conflict = positionMap.put(p.getValue(), p); if (conflict != null) { throw new InvalidEnumDefinitionException(p, "Enum '%s' conflicts on value with enum ", conflict); } } return getBaseType() == null ? new BaseEnumerationType(getPath(), getUnknownSchemaNodes(), map.values()) : new RestrictedEnumerationType(getBaseType(), getPath(), getUnknownSchemaNodes(), map.values()); } }
@Override public EnumTypeDefinition buildType() { final Map<String, EnumPair> map = builder.build(); final Map<Integer, EnumPair> positionMap = new HashMap<>(); for (EnumPair p : map.values()) { final EnumPair conflict = positionMap.put(p.getValue(), p); if (conflict != null) { throw new InvalidEnumDefinitionException(p, "Enum '%s' conflicts on value with enum ", conflict); } } return getBaseType() == null ? new BaseEnumerationType(getPath(), getUnknownSchemaNodes(), map.values()) : new RestrictedEnumerationType(getBaseType(), getPath(), getUnknownSchemaNodes(), map.values()); } }