PatternAnalyzerConverter.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.search.documents.implementation.converters;
import com.azure.search.documents.indexes.models.PatternAnalyzer;
import com.azure.search.documents.indexes.models.RegexFlags;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* A converter between {@link com.azure.search.documents.indexes.implementation.models.PatternAnalyzer} and
* {@link PatternAnalyzer}.
*/
public final class PatternAnalyzerConverter {
/**
* Maps from {@link com.azure.search.documents.indexes.implementation.models.PatternAnalyzer} to {@link PatternAnalyzer}.
*/
public static PatternAnalyzer map(com.azure.search.documents.indexes.implementation.models.PatternAnalyzer obj) {
if (obj == null) {
return null;
}
PatternAnalyzer patternAnalyzer = new PatternAnalyzer(obj.getName());
Boolean lowerCaseTerms = obj.isLowerCaseTerms();
patternAnalyzer.setLowerCaseTerms(lowerCaseTerms);
String pattern = obj.getPattern();
patternAnalyzer.setPattern(pattern);
if (obj.getFlags() != null) {
patternAnalyzer.setFlags(Arrays.stream(obj.getFlags().toString().split("\\|"))
.map(RegexFlags::fromString)
.collect(Collectors.toList()));
}
if (obj.getStopwords() != null) {
patternAnalyzer.setStopwords(obj.getStopwords());
}
return patternAnalyzer;
}
/**
* Maps from {@link PatternAnalyzer} to {@link com.azure.search.documents.indexes.implementation.models.PatternAnalyzer}.
*/
public static com.azure.search.documents.indexes.implementation.models.PatternAnalyzer map(PatternAnalyzer obj) {
if (obj == null) {
return null;
}
com.azure.search.documents.indexes.implementation.models.PatternAnalyzer patternAnalyzer =
new com.azure.search.documents.indexes.implementation.models.PatternAnalyzer(obj.getName());
Boolean lowerCaseTerms = obj.areLowerCaseTerms();
patternAnalyzer.setLowerCaseTerms(lowerCaseTerms);
String pattern = obj.getPattern();
patternAnalyzer.setPattern(pattern);
if (obj.getFlags() != null) {
String flattenFlags = obj.getFlags().stream().map(RegexFlags::toString).collect(Collectors.joining("|"));
patternAnalyzer.setFlags(RegexFlags.fromString(flattenFlags));
}
if (obj.getStopwords() != null) {
List<String> stopwords = new ArrayList<>(obj.getStopwords());
patternAnalyzer.setStopwords(stopwords);
}
return patternAnalyzer;
}
private PatternAnalyzerConverter() {
}
}