PatternAnalyzer.java
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // Licensed under the MIT License.
- //
- // Code generated by Microsoft (R) AutoRest Code Generator.
- // Changes may cause incorrect behavior and will be lost if the code is
- // regenerated.
- package com.azure.search.documents.indexes.models;
- import com.azure.core.annotation.Fluent;
- import com.fasterxml.jackson.annotation.JsonCreator;
- import com.fasterxml.jackson.annotation.JsonProperty;
- import com.fasterxml.jackson.annotation.JsonSetter;
- import com.fasterxml.jackson.annotation.JsonTypeId;
- import com.fasterxml.jackson.annotation.JsonTypeInfo;
- import com.fasterxml.jackson.annotation.JsonTypeName;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * Flexibly separates text into terms via a regular expression pattern. This analyzer is implemented using Apache
- * Lucene.
- */
- @JsonTypeInfo(
- use = JsonTypeInfo.Id.NAME,
- include = JsonTypeInfo.As.EXISTING_PROPERTY,
- property = "@odata.type",
- visible = true)
- @JsonTypeName("#Microsoft.Azure.Search.PatternAnalyzer")
- @Fluent
- public final class PatternAnalyzer extends LexicalAnalyzer {
- /*
- * Identifies the concrete type of the analyzer.
- */
- @JsonTypeId
- @JsonProperty(value = "@odata.type", required = true)
- private String odataType = "#Microsoft.Azure.Search.PatternAnalyzer";
- /*
- * A value indicating whether terms should be lower-cased. Default is true.
- */
- @JsonProperty(value = "lowercase")
- private Boolean lowerCaseTerms;
- /*
- * A regular expression pattern to match token separators. Default is an
- * expression that matches one or more non-word characters.
- */
- @JsonProperty(value = "pattern")
- private String pattern;
- /*
- * Regular expression flags.
- */
- @JsonProperty(value = "flags")
- private RegexFlags flags;
- /*
- * A list of stopwords.
- */
- @JsonProperty(value = "stopwords")
- private List<String> stopwords;
- /**
- * Creates an instance of PatternAnalyzer class.
- *
- * @param name the name value to set.
- */
- @JsonCreator
- public PatternAnalyzer(@JsonProperty(value = "name", required = true) String name) {
- super(name);
- }
- /**
- * Get the lowerCaseTerms property: A value indicating whether terms should be lower-cased. Default is true.
- *
- * @return the lowerCaseTerms value.
- */
- public Boolean areLowerCaseTerms() {
- return this.lowerCaseTerms;
- }
- /**
- * Set the lowerCaseTerms property: A value indicating whether terms should be lower-cased. Default is true.
- *
- * @param lowerCaseTerms the lowerCaseTerms value to set.
- * @return the PatternAnalyzer object itself.
- */
- public PatternAnalyzer setLowerCaseTerms(Boolean lowerCaseTerms) {
- this.lowerCaseTerms = lowerCaseTerms;
- return this;
- }
- /**
- * Get the pattern property: A regular expression pattern to match token separators. Default is an expression that
- * matches one or more non-word characters.
- *
- * @return the pattern value.
- */
- public String getPattern() {
- return this.pattern;
- }
- /**
- * Set the pattern property: A regular expression pattern to match token separators. Default is an expression that
- * matches one or more non-word characters.
- *
- * @param pattern the pattern value to set.
- * @return the PatternAnalyzer object itself.
- */
- public PatternAnalyzer setPattern(String pattern) {
- this.pattern = pattern;
- return this;
- }
- /**
- * Get the flags property: Regular expression flags.
- *
- * @return the flags value.
- */
- public List<RegexFlags> getFlags() {
- if (this.flags == null) {
- return null;
- } else {
- String[] flagStrings = this.flags.toString().split("\\|");
- return java.util.Arrays.stream(flagStrings).map(RegexFlags::fromString).collect(Collectors.toList());
- }
- }
- /**
- * Set the flags property: Regular expression flags.
- *
- * @param flags the flags value to set.
- * @return the PatternAnalyzer object itself.
- */
- @JsonSetter
- public PatternAnalyzer setFlags(List<RegexFlags> flags) {
- if (flags == null) {
- this.flags = null;
- } else {
- String flagString = flags.stream().map(RegexFlags::toString).collect(Collectors.joining("|"));
- this.flags = RegexFlags.fromString(flagString);
- }
- return this;
- }
- /**
- * Get the stopwords property: A list of stopwords.
- *
- * @return the stopwords value.
- */
- public List<String> getStopwords() {
- return this.stopwords;
- }
- /**
- * Set the stopwords property: A list of stopwords.
- *
- * @param stopwords the stopwords value to set.
- * @return the PatternAnalyzer object itself.
- */
- @JsonSetter
- public PatternAnalyzer setStopwords(List<String> stopwords) {
- this.stopwords = stopwords;
- return this;
- }
- /**
- * Set the stopwords property: A list of stopwords.
- *
- * @param stopwords the stopwords value to set.
- * @return the PatternAnalyzer object itself.
- */
- public PatternAnalyzer setStopwords(String... stopwords) {
- this.stopwords = (stopwords == null) ? null : java.util.Arrays.asList(stopwords);
- return this;
- }
- /**
- * Set the flags property: Regular expression flags.
- *
- * @param flags the flags value to set.
- * @return the PatternAnalyzer object itself.
- */
- public PatternAnalyzer setFlags(RegexFlags... flags) {
- if (flags == null) {
- this.flags = null;
- return this;
- } else {
- return setFlags(java.util.Arrays.asList(flags));
- }
- }
- }