/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.waf.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the
* developer guide.
*
* For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the
* latest version, AWS WAF has a single set of endpoints for regional and global use.
*
* The regular expression pattern that you want AWS WAF to search for in web requests, the location in requests that you
* want AWS WAF to search, and other settings. Each RegexMatchTuple
object contains:
*
* The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the
* User-Agent
header.
*
* The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see * RegexPatternSet. *
** Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the * specified string. *
*
* Specifies where in a web request to look for the RegexPatternSet
.
*
* Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to
* bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
* RegexPatternSet
before inspecting a request for a match.
*
* You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using unusual * formatting to disguise some or all of the command, use this option to perform the following transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE
* performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
*
* The RegexPatternSetId
for a RegexPatternSet
. You use RegexPatternSetId
to
* get information about a RegexPatternSet
(see GetRegexPatternSet), update a
* RegexPatternSet
(see UpdateRegexPatternSet), insert a RegexPatternSet
into a
* RegexMatchSet
or delete one from a RegexMatchSet
(see UpdateRegexMatchSet), and
* delete an RegexPatternSet
from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by ListRegexPatternSets.
*
* Specifies where in a web request to look for the RegexPatternSet
.
*
RegexPatternSet
.
*/
public void setFieldToMatch(FieldToMatch fieldToMatch) {
this.fieldToMatch = fieldToMatch;
}
/**
*
* Specifies where in a web request to look for the RegexPatternSet
.
*
RegexPatternSet
.
*/
public FieldToMatch getFieldToMatch() {
return this.fieldToMatch;
}
/**
*
* Specifies where in a web request to look for the RegexPatternSet
.
*
RegexPatternSet
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegexMatchTuple withFieldToMatch(FieldToMatch fieldToMatch) {
setFieldToMatch(fieldToMatch);
return this;
}
/**
*
* Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to
* bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
* RegexPatternSet
before inspecting a request for a match.
*
* You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using unusual * formatting to disguise some or all of the command, use this option to perform the following transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE
* performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
*
RegexPatternSet
before inspecting a request for a match.
* * You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using * unusual formatting to disguise some or all of the command, use this option to perform the following * transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters.
* HTML_ENTITY_DECODE
performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
* @see TextTransformation
*/
public void setTextTransformation(String textTransformation) {
this.textTransformation = textTransformation;
}
/**
*
* Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to
* bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
* RegexPatternSet
before inspecting a request for a match.
*
* You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using unusual * formatting to disguise some or all of the command, use this option to perform the following transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE
* performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
*
RegexPatternSet
before inspecting a request for a match.
* * You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using * unusual formatting to disguise some or all of the command, use this option to perform the following * transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters.
* HTML_ENTITY_DECODE
performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
* @see TextTransformation
*/
public String getTextTransformation() {
return this.textTransformation;
}
/**
*
* Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to
* bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
* RegexPatternSet
before inspecting a request for a match.
*
* You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using unusual * formatting to disguise some or all of the command, use this option to perform the following transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE
* performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
*
RegexPatternSet
before inspecting a request for a match.
* * You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using * unusual formatting to disguise some or all of the command, use this option to perform the following * transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters.
* HTML_ENTITY_DECODE
performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TextTransformation
*/
public RegexMatchTuple withTextTransformation(String textTransformation) {
setTextTransformation(textTransformation);
return this;
}
/**
*
* Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to
* bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
* RegexPatternSet
before inspecting a request for a match.
*
* You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using unusual * formatting to disguise some or all of the command, use this option to perform the following transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE
* performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
*
RegexPatternSet
before inspecting a request for a match.
* * You can only specify a single type of TextTransformation. *
** CMD_LINE *
** When you're concerned that attackers are injecting an operating system commandline command and using * unusual formatting to disguise some or all of the command, use this option to perform the following * transformations: *
** Delete the following characters: \ " ' ^ *
** Delete spaces before the following characters: / ( *
** Replace the following characters with a space: , ; *
** Replace multiple spaces with one space *
** Convert uppercase letters (A-Z) to lowercase (a-z) *
** COMPRESS_WHITE_SPACE *
** Use this option to replace the following characters with a space character (decimal 32): *
** \f, formfeed, decimal 12 *
** \t, tab, decimal 9 *
** \n, newline, decimal 10 *
** \r, carriage return, decimal 13 *
** \v, vertical tab, decimal 11 *
** non-breaking space, decimal 160 *
*
* COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.
*
* HTML_ENTITY_DECODE *
*
* Use this option to replace HTML-encoded characters with unencoded characters.
* HTML_ENTITY_DECODE
performs the following operations:
*
* Replaces (ampersand)quot;
with "
*
* Replaces (ampersand)nbsp;
with a non-breaking space, decimal 160
*
* Replaces (ampersand)lt;
with a "less than" symbol
*
* Replaces (ampersand)gt;
with >
*
* Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;
, with the
* corresponding characters
*
* Replaces characters that are represented in decimal format, (ampersand)#nnnn;
, with the
* corresponding characters
*
* LOWERCASE *
** Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *
** URL_DECODE *
** Use this option to decode a URL-encoded value. *
** NONE *
*
* Specify NONE
if you don't want to perform any text transformations.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TextTransformation
*/
public RegexMatchTuple withTextTransformation(TextTransformation textTransformation) {
this.textTransformation = textTransformation.toString();
return this;
}
/**
*
* The RegexPatternSetId
for a RegexPatternSet
. You use RegexPatternSetId
to
* get information about a RegexPatternSet
(see GetRegexPatternSet), update a
* RegexPatternSet
(see UpdateRegexPatternSet), insert a RegexPatternSet
into a
* RegexMatchSet
or delete one from a RegexMatchSet
(see UpdateRegexMatchSet), and
* delete an RegexPatternSet
from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by ListRegexPatternSets.
*
RegexPatternSetId
for a RegexPatternSet
. You use
* RegexPatternSetId
to get information about a RegexPatternSet
(see
* GetRegexPatternSet), update a RegexPatternSet
(see UpdateRegexPatternSet),
* insert a RegexPatternSet
into a RegexMatchSet
or delete one from a
* RegexMatchSet
(see UpdateRegexMatchSet), and delete an RegexPatternSet
* from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by
* ListRegexPatternSets.
*/
public void setRegexPatternSetId(String regexPatternSetId) {
this.regexPatternSetId = regexPatternSetId;
}
/**
*
* The RegexPatternSetId
for a RegexPatternSet
. You use RegexPatternSetId
to
* get information about a RegexPatternSet
(see GetRegexPatternSet), update a
* RegexPatternSet
(see UpdateRegexPatternSet), insert a RegexPatternSet
into a
* RegexMatchSet
or delete one from a RegexMatchSet
(see UpdateRegexMatchSet), and
* delete an RegexPatternSet
from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by ListRegexPatternSets.
*
RegexPatternSetId
for a RegexPatternSet
. You use
* RegexPatternSetId
to get information about a RegexPatternSet
(see
* GetRegexPatternSet), update a RegexPatternSet
(see UpdateRegexPatternSet),
* insert a RegexPatternSet
into a RegexMatchSet
or delete one from a
* RegexMatchSet
(see UpdateRegexMatchSet), and delete an RegexPatternSet
* from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by
* ListRegexPatternSets.
*/
public String getRegexPatternSetId() {
return this.regexPatternSetId;
}
/**
*
* The RegexPatternSetId
for a RegexPatternSet
. You use RegexPatternSetId
to
* get information about a RegexPatternSet
(see GetRegexPatternSet), update a
* RegexPatternSet
(see UpdateRegexPatternSet), insert a RegexPatternSet
into a
* RegexMatchSet
or delete one from a RegexMatchSet
(see UpdateRegexMatchSet), and
* delete an RegexPatternSet
from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by ListRegexPatternSets.
*
RegexPatternSetId
for a RegexPatternSet
. You use
* RegexPatternSetId
to get information about a RegexPatternSet
(see
* GetRegexPatternSet), update a RegexPatternSet
(see UpdateRegexPatternSet),
* insert a RegexPatternSet
into a RegexMatchSet
or delete one from a
* RegexMatchSet
(see UpdateRegexMatchSet), and delete an RegexPatternSet
* from AWS WAF (see DeleteRegexPatternSet).
*
* RegexPatternSetId
is returned by CreateRegexPatternSet and by
* ListRegexPatternSets.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegexMatchTuple withRegexPatternSetId(String regexPatternSetId) {
setRegexPatternSetId(regexPatternSetId);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getFieldToMatch() != null)
sb.append("FieldToMatch: ").append(getFieldToMatch()).append(",");
if (getTextTransformation() != null)
sb.append("TextTransformation: ").append(getTextTransformation()).append(",");
if (getRegexPatternSetId() != null)
sb.append("RegexPatternSetId: ").append(getRegexPatternSetId());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof RegexMatchTuple == false)
return false;
RegexMatchTuple other = (RegexMatchTuple) obj;
if (other.getFieldToMatch() == null ^ this.getFieldToMatch() == null)
return false;
if (other.getFieldToMatch() != null && other.getFieldToMatch().equals(this.getFieldToMatch()) == false)
return false;
if (other.getTextTransformation() == null ^ this.getTextTransformation() == null)
return false;
if (other.getTextTransformation() != null && other.getTextTransformation().equals(this.getTextTransformation()) == false)
return false;
if (other.getRegexPatternSetId() == null ^ this.getRegexPatternSetId() == null)
return false;
if (other.getRegexPatternSetId() != null && other.getRegexPatternSetId().equals(this.getRegexPatternSetId()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getFieldToMatch() == null) ? 0 : getFieldToMatch().hashCode());
hashCode = prime * hashCode + ((getTextTransformation() == null) ? 0 : getTextTransformation().hashCode());
hashCode = prime * hashCode + ((getRegexPatternSetId() == null) ? 0 : getRegexPatternSetId().hashCode());
return hashCode;
}
@Override
public RegexMatchTuple clone() {
try {
return (RegexMatchTuple) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.waf.model.waf_regional.transform.RegexMatchTupleMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}