@Override public String getEnum(String fieldName, EnumDataSchema enumDataSchema) { List<String> symbols = enumDataSchema.getSymbols(); return symbols.get(nonNegative(symbols.size() - 1)); }
/** Syntax for all the values in this enum */ public List<TSEnumSymbolSyntax> symbols() { List<TSEnumSymbolSyntax> symbols = new ArrayList<>(); for (String symbol : _dataSchema.getSymbols()) { symbols.add(new TSEnumSymbolSyntax(_template, _dataSchema, symbol)); } return symbols; }
private void checkEnum(EnumDataSchema older, EnumDataSchema newer) { checkName(older, newer); _path.addLast(DataSchemaConstants.SYMBOLS_KEY); // using list to preserve symbol order List<String> newerOnlySymbols = new CheckerArrayList<String>(newer.getSymbols()); newerOnlySymbols.removeAll(older.getSymbols()); List<String> olderOnlySymbols = new CheckerArrayList<String>(older.getSymbols()); olderOnlySymbols.removeAll(newer.getSymbols()); if (newerOnlySymbols.isEmpty() == false) { appendMessage(CompatibilityMessage.Impact.BREAKS_OLD_READER, "new enum added symbols %s", newerOnlySymbols); } if (olderOnlySymbols.isEmpty() == false) { appendMessage(CompatibilityMessage.Impact.BREAKS_NEW_READER, "new enum removed symbols %s", olderOnlySymbols); } _path.removeLast(); }
String enumValue = (String) value; EnumDataSchema enumDataSchema = (EnumDataSchema) dataSchema; if (!enumDataSchema.getSymbols().contains(enumValue)) throw new IllegalArgumentException(message(path, "enum value %1$s not one of %2$s", value, enumDataSchema.getSymbols()));
String enumValue = value.toString(); EnumDataSchema enumDataSchema = (EnumDataSchema) dereferencedDataSchema; if (enumDataSchema.getSymbols().contains(enumValue) == false) appendMessage("enum value %1$s not one of %2$s", enumValue, enumDataSchema.getSymbols()); result = BAD_RESULT; break;
String enumValue = value.toString(); EnumDataSchema enumDataSchema = (EnumDataSchema) dereferencedDataSchema; if (enumDataSchema.getSymbols().contains(enumValue) == false) appendMessage("enum value %1$s not one of %2$s", enumValue, enumDataSchema.getSymbols()); result = BAD_RESULT; break;
break; case ENUM: _builder.writeStringArrayField(SYMBOLS_KEY, ((EnumDataSchema) schema).getSymbols(), true); _builder.writeMapField(SYMBOL_DOCS_KEY, ((EnumDataSchema) schema).getSymbolDocs(), false); break;
Map<String, String> docs = schema.getSymbolDocs(); for (String symbol : schema.getSymbols())