TokenFilterConverter.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.search.documents.implementation.converters;
import com.azure.core.util.logging.ClientLogger;
import com.azure.search.documents.indexes.implementation.models.AsciiFoldingTokenFilter;
import com.azure.search.documents.indexes.implementation.models.CjkBigramTokenFilter;
import com.azure.search.documents.indexes.implementation.models.CommonGramTokenFilter;
import com.azure.search.documents.indexes.implementation.models.DictionaryDecompounderTokenFilter;
import com.azure.search.documents.indexes.implementation.models.EdgeNGramTokenFilter;
import com.azure.search.documents.indexes.implementation.models.EdgeNGramTokenFilterV2;
import com.azure.search.documents.indexes.implementation.models.ElisionTokenFilter;
import com.azure.search.documents.indexes.implementation.models.KeepTokenFilter;
import com.azure.search.documents.indexes.implementation.models.KeywordMarkerTokenFilter;
import com.azure.search.documents.indexes.implementation.models.LengthTokenFilter;
import com.azure.search.documents.indexes.implementation.models.LimitTokenFilter;
import com.azure.search.documents.indexes.implementation.models.NGramTokenFilter;
import com.azure.search.documents.indexes.implementation.models.NGramTokenFilterV2;
import com.azure.search.documents.indexes.implementation.models.PatternCaptureTokenFilter;
import com.azure.search.documents.indexes.implementation.models.PatternReplaceTokenFilter;
import com.azure.search.documents.indexes.implementation.models.PhoneticTokenFilter;
import com.azure.search.documents.indexes.implementation.models.ShingleTokenFilter;
import com.azure.search.documents.indexes.implementation.models.SnowballTokenFilter;
import com.azure.search.documents.indexes.implementation.models.StemmerOverrideTokenFilter;
import com.azure.search.documents.indexes.implementation.models.StemmerTokenFilter;
import com.azure.search.documents.indexes.implementation.models.StopwordsTokenFilter;
import com.azure.search.documents.indexes.implementation.models.SynonymTokenFilter;
import com.azure.search.documents.indexes.implementation.models.TruncateTokenFilter;
import com.azure.search.documents.indexes.implementation.models.UniqueTokenFilter;
import com.azure.search.documents.indexes.implementation.models.WordDelimiterTokenFilter;
import com.azure.search.documents.indexes.models.TokenFilter;
import static com.azure.search.documents.implementation.util.Constants.ABSTRACT_EXTERNAL_ERROR_MSG;
import static com.azure.search.documents.implementation.util.Constants.ABSTRACT_INTERNAL_ERROR_MSG;
/**
* A converter between {@link com.azure.search.documents.indexes.implementation.models.TokenFilter} and {@link TokenFilter}.
*/
public final class TokenFilterConverter {
private static final ClientLogger LOGGER = new ClientLogger(TokenFilterConverter.class);
/**
* Maps abstract class from {@link com.azure.search.documents.indexes.implementation.models.TokenFilter} to
* {@link TokenFilter}. Dedicate works to sub class converter.
*/
public static TokenFilter map(com.azure.search.documents.indexes.implementation.models.TokenFilter obj) {
if (obj instanceof CommonGramTokenFilter) {
return CommonGramTokenFilterConverter.map((CommonGramTokenFilter) obj);
}
if (obj instanceof KeepTokenFilter) {
return KeepTokenFilterConverter.map((KeepTokenFilter) obj);
}
if (obj instanceof StemmerOverrideTokenFilter) {
return StemmerOverrideTokenFilterConverter.map((StemmerOverrideTokenFilter) obj);
}
if (obj instanceof SynonymTokenFilter) {
return SynonymTokenFilterConverter.map((SynonymTokenFilter) obj);
}
if (obj instanceof DictionaryDecompounderTokenFilter) {
return DictionaryDecompounderTokenFilterConverter.map((DictionaryDecompounderTokenFilter) obj);
}
if (obj instanceof LengthTokenFilter) {
return LengthTokenFilterConverter.map((LengthTokenFilter) obj);
}
if (obj instanceof UniqueTokenFilter) {
return UniqueTokenFilterConverter.map((UniqueTokenFilter) obj);
}
if (obj instanceof KeywordMarkerTokenFilter) {
return KeywordMarkerTokenFilterConverter.map((KeywordMarkerTokenFilter) obj);
}
if (obj instanceof CjkBigramTokenFilter) {
return CjkBigramTokenFilterConverter.map((CjkBigramTokenFilter) obj);
}
if (obj instanceof EdgeNGramTokenFilterV2) {
return EdgeNGramTokenFilterConverter.map((EdgeNGramTokenFilterV2) obj);
}
if (obj instanceof PatternCaptureTokenFilter) {
return PatternCaptureTokenFilterConverter.map((PatternCaptureTokenFilter) obj);
}
if (obj instanceof NGramTokenFilterV2) {
return NGramTokenFilterConverter.map((NGramTokenFilterV2) obj);
}
if (obj instanceof PatternReplaceTokenFilter) {
return PatternReplaceTokenFilterConverter.map((PatternReplaceTokenFilter) obj);
}
if (obj instanceof NGramTokenFilter) {
return NGramTokenFilterConverter.map((NGramTokenFilter) obj);
}
if (obj instanceof ShingleTokenFilter) {
return ShingleTokenFilterConverter.map((ShingleTokenFilter) obj);
}
if (obj instanceof LimitTokenFilter) {
return LimitTokenFilterConverter.map((LimitTokenFilter) obj);
}
if (obj instanceof PhoneticTokenFilter) {
return PhoneticTokenFilterConverter.map((PhoneticTokenFilter) obj);
}
if (obj instanceof StopwordsTokenFilter) {
return StopwordsTokenFilterConverter.map((StopwordsTokenFilter) obj);
}
if (obj instanceof WordDelimiterTokenFilter) {
return WordDelimiterTokenFilterConverter.map((WordDelimiterTokenFilter) obj);
}
if (obj instanceof SnowballTokenFilter) {
return SnowballTokenFilterConverter.map((SnowballTokenFilter) obj);
}
if (obj instanceof AsciiFoldingTokenFilter) {
return AsciiFoldingTokenFilterConverter.map((AsciiFoldingTokenFilter) obj);
}
if (obj instanceof EdgeNGramTokenFilter) {
return EdgeNGramTokenFilterConverter.map((EdgeNGramTokenFilter) obj);
}
if (obj instanceof TruncateTokenFilter) {
return TruncateTokenFilterConverter.map((TruncateTokenFilter) obj);
}
if (obj instanceof StemmerTokenFilter) {
return StemmerTokenFilterConverter.map((StemmerTokenFilter) obj);
}
if (obj instanceof ElisionTokenFilter) {
return ElisionTokenFilterConverter.map((ElisionTokenFilter) obj);
}
throw LOGGER.logExceptionAsError(new RuntimeException(String.format(ABSTRACT_EXTERNAL_ERROR_MSG,
obj.getClass().getSimpleName())));
}
/**
* Maps abstract class from {@link TokenFilter} to
* {@link com.azure.search.documents.indexes.implementation.models.TokenFilter}. Dedicate works to sub class converter.
*/
public static com.azure.search.documents.indexes.implementation.models.TokenFilter map(TokenFilter obj) {
if (obj instanceof com.azure.search.documents.indexes.models.CjkBigramTokenFilter) {
return CjkBigramTokenFilterConverter.map((com.azure.search.documents.indexes.models.CjkBigramTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.ElisionTokenFilter) {
return ElisionTokenFilterConverter.map((com.azure.search.documents.indexes.models.ElisionTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.SynonymTokenFilter) {
return SynonymTokenFilterConverter.map((com.azure.search.documents.indexes.models.SynonymTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.LengthTokenFilter) {
return LengthTokenFilterConverter.map((com.azure.search.documents.indexes.models.LengthTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.PatternCaptureTokenFilter) {
return PatternCaptureTokenFilterConverter.map((com.azure.search.documents.indexes.models.PatternCaptureTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.KeepTokenFilter) {
return KeepTokenFilterConverter.map((com.azure.search.documents.indexes.models.KeepTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.AsciiFoldingTokenFilter) {
return AsciiFoldingTokenFilterConverter.map((com.azure.search.documents.indexes.models.AsciiFoldingTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.KeywordMarkerTokenFilter) {
return KeywordMarkerTokenFilterConverter.map((com.azure.search.documents.indexes.models.KeywordMarkerTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.UniqueTokenFilter) {
return UniqueTokenFilterConverter.map((com.azure.search.documents.indexes.models.UniqueTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.LimitTokenFilter) {
return LimitTokenFilterConverter.map((com.azure.search.documents.indexes.models.LimitTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.TruncateTokenFilter) {
return TruncateTokenFilterConverter.map((com.azure.search.documents.indexes.models.TruncateTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.EdgeNGramTokenFilter) {
return EdgeNGramTokenFilterConverter.map((com.azure.search.documents.indexes.models.EdgeNGramTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.DictionaryDecompounderTokenFilter) {
return DictionaryDecompounderTokenFilterConverter.map((com.azure.search.documents.indexes.models.DictionaryDecompounderTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.PatternReplaceTokenFilter) {
return PatternReplaceTokenFilterConverter.map((com.azure.search.documents.indexes.models.PatternReplaceTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.StemmerTokenFilter) {
return StemmerTokenFilterConverter.map((com.azure.search.documents.indexes.models.StemmerTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.PhoneticTokenFilter) {
return PhoneticTokenFilterConverter.map((com.azure.search.documents.indexes.models.PhoneticTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.CommonGramTokenFilter) {
return CommonGramTokenFilterConverter.map((com.azure.search.documents.indexes.models.CommonGramTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.StopwordsTokenFilter) {
return StopwordsTokenFilterConverter.map((com.azure.search.documents.indexes.models.StopwordsTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.WordDelimiterTokenFilter) {
return WordDelimiterTokenFilterConverter.map((com.azure.search.documents.indexes.models.WordDelimiterTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.SnowballTokenFilter) {
return SnowballTokenFilterConverter.map((com.azure.search.documents.indexes.models.SnowballTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.NGramTokenFilter) {
return NGramTokenFilterConverter.map((com.azure.search.documents.indexes.models.NGramTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.ShingleTokenFilter) {
return ShingleTokenFilterConverter.map((com.azure.search.documents.indexes.models.ShingleTokenFilter) obj);
}
if (obj instanceof com.azure.search.documents.indexes.models.StemmerOverrideTokenFilter) {
return StemmerOverrideTokenFilterConverter.map((com.azure.search.documents.indexes.models.StemmerOverrideTokenFilter) obj);
}
throw LOGGER.logExceptionAsError(new RuntimeException(String.format(ABSTRACT_INTERNAL_ERROR_MSG,
obj.getClass().getSimpleName())));
}
private TokenFilterConverter() {
}
}