in tablestore/src/main/java/com/alicloud/openservices/tablestore/model/search/FieldSchema.java [296:443]
public void jsonize(StringBuilder sb, String newline) {
sb.append('{');
sb.append(newline);
sb.append("\"FieldName\": \"");
sb.append(fieldName);
sb.append("\"");
sb.append(",");
sb.append(newline);
if (fieldType != null) {
sb.append("\"FieldType\": \"");
sb.append(fieldType.name());
sb.append("\"");
sb.append(",");
sb.append(newline);
}
if (index != null) {
sb.append("\"Index\": ");
sb.append(index.toString());
sb.append(",");
sb.append(newline);
}
if (indexOptions != null) {
sb.append("\"IndexOptions\": ");
sb.append(indexOptions.toString());
sb.append(",");
sb.append(newline);
}
if (analyzer != null) {
sb.append("\"Analyzer\": \"");
sb.append(analyzer.toString());
sb.append("\",");
sb.append(newline);
if (analyzerParameter != null) {
if (analyzer == Analyzer.SingleWord && analyzerParameter instanceof SingleWordAnalyzerParameter) {
sb.append("\"AnalyzerParameter\": {");
sb.append("\"CaseSensitive\": ");
sb.append(((SingleWordAnalyzerParameter)analyzerParameter).isCaseSensitive());
sb.append(", \"DelimitWord\": ");
sb.append(((SingleWordAnalyzerParameter)analyzerParameter).isDelimitWord());
sb.append("},");
sb.append(newline);
} else if (analyzer == Analyzer.Split && analyzerParameter instanceof SplitAnalyzerParameter) {
String delimiter = ((SplitAnalyzerParameter)analyzerParameter).getDelimiter();
sb.append("\"AnalyzerParameter\": {");
sb.append("\"Delimiter\": ");
sb.append(delimiter == null ? "null" : "\"" + delimiter + "\"");
sb.append(", \"CaseSensitive\": ");
sb.append(((SplitAnalyzerParameter)analyzerParameter).isCaseSensitive());
sb.append("},");
sb.append(newline);
} else if (analyzer == Analyzer.Fuzzy && analyzerParameter instanceof FuzzyAnalyzerParameter) {
sb.append("\"AnalyzerParameter\": {");
sb.append("\"MinChars\": ");
sb.append(((FuzzyAnalyzerParameter)analyzerParameter).getMinChars());
sb.append(", \"MaxChars\": ");
sb.append(((FuzzyAnalyzerParameter)analyzerParameter).getMaxChars());
sb.append(", \"CaseSensitive\": ");
sb.append(((FuzzyAnalyzerParameter)analyzerParameter).isCaseSensitive());
sb.append("},");
sb.append(newline);
}
}
}
if (enableSortAndAgg != null) {
sb.append("\"EnableSortAndAgg\": ");
sb.append(enableSortAndAgg.toString());
sb.append(",");
sb.append(newline);
}
if (enableHighlighting != null) {
sb.append("\"EnableHighlighting\": ");
sb.append(enableHighlighting.toString());
sb.append(",");
sb.append(newline);
}
if (store != null) {
sb.append("\"Store\": ");
sb.append(store.toString());
sb.append(",");
sb.append(newline);
}
if (isArray != null) {
sb.append("\"IsArray\": ");
sb.append(isArray.toString());
sb.append(",");
sb.append(newline);
}
sb.append("\"SubFieldSchemas\": [");
if (subFieldSchemas != null) {
for (int i = 0; i < subFieldSchemas.size(); i++) {
FieldSchema schema = subFieldSchemas.get(i);
schema.jsonize(sb, newline);
if (i != subFieldSchemas.size() - 1) {
sb.append(", ");
sb.append(newline);
}
}
}
sb.append("]");
if (isVirtualField != null) {
sb.append(",");
sb.append(newline);
sb.append("\"IsVirtualField\": ");
sb.append(isVirtualField);
}
if (sourceFieldNames != null) {
sb.append(",");
sb.append(newline);
sb.append("\"SourceFieldNames\": [");
for (int i = 0; i < sourceFieldNames.size(); i++) {
String sourceField = sourceFieldNames.get(i);
sb.append("\"").append(sourceField).append("\"");
if (i != sourceFieldNames.size() - 1) {
sb.append(", ");
}
}
sb.append("]");
}
if (dateFormats != null) {
sb.append(",");
sb.append(newline);
sb.append("\"DateFormats\": [");
for (int i = 0; i < dateFormats.size(); i++) {
String sourceField = dateFormats.get(i);
sb.append("\"").append(sourceField).append("\"");
if (i != dateFormats.size() - 1) {
sb.append(", ");
}
}
sb.append("]");
}
if (vectorOptions != null) {
sb.append(",");
sb.append(newline);
sb.append("\"VectorOptions\": ");
sb.append(newline);
vectorOptions.jsonize(sb, newline);
}
if (jsonType != null) {
sb.append(",");
sb.append(newline);
sb.append("\"JsonType\": ");
sb.append("\"").append(jsonType.name()).append("\"");
}
sb.append(newline);
sb.append("}");
}