All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudsearchv2.model.IndexField Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon CloudSearch module holds the client classes that are used for communicating with Amazon CloudSearch Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2011-2016 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.cloudsearchv2.model;

import java.io.Serializable;

/**
 * 

* Configuration information for a field in the index, including its name, type, * and options. The supported options depend on the * IndexFieldType. *

*/ public class IndexField implements Serializable, Cloneable { /** *

* A string that represents the name of an index field. CloudSearch supports * regular index fields as well as dynamic fields. A dynamic field's name * defines a pattern that begins or ends with a wildcard. Any document * fields that don't map to a regular index field but do match a dynamic * field's pattern are configured with the dynamic field's indexing options. *

*

* Regular field names begin with a letter and can contain the following * characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names * must begin or end with a wildcard (*). The wildcard can also be the only * character in a dynamic field name. Multiple wildcards, and wildcards * embedded within a string are not supported. *

*

* The name score is reserved and cannot be used as a field * name. To reference a document's ID, you can use the name _id * . *

*/ private String indexFieldName; private String indexFieldType; private IntOptions intOptions; private DoubleOptions doubleOptions; private LiteralOptions literalOptions; private TextOptions textOptions; private DateOptions dateOptions; private LatLonOptions latLonOptions; private IntArrayOptions intArrayOptions; private DoubleArrayOptions doubleArrayOptions; private LiteralArrayOptions literalArrayOptions; private TextArrayOptions textArrayOptions; private DateArrayOptions dateArrayOptions; /** *

* A string that represents the name of an index field. CloudSearch supports * regular index fields as well as dynamic fields. A dynamic field's name * defines a pattern that begins or ends with a wildcard. Any document * fields that don't map to a regular index field but do match a dynamic * field's pattern are configured with the dynamic field's indexing options. *

*

* Regular field names begin with a letter and can contain the following * characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names * must begin or end with a wildcard (*). The wildcard can also be the only * character in a dynamic field name. Multiple wildcards, and wildcards * embedded within a string are not supported. *

*

* The name score is reserved and cannot be used as a field * name. To reference a document's ID, you can use the name _id * . *

* * @param indexFieldName * A string that represents the name of an index field. CloudSearch * supports regular index fields as well as dynamic fields. A dynamic * field's name defines a pattern that begins or ends with a * wildcard. Any document fields that don't map to a regular index * field but do match a dynamic field's pattern are configured with * the dynamic field's indexing options.

*

* Regular field names begin with a letter and can contain the * following characters: a-z (lowercase), 0-9, and _ (underscore). * Dynamic field names must begin or end with a wildcard (*). The * wildcard can also be the only character in a dynamic field name. * Multiple wildcards, and wildcards embedded within a string are not * supported. *

*

* The name score is reserved and cannot be used as a * field name. To reference a document's ID, you can use the name * _id. */ public void setIndexFieldName(String indexFieldName) { this.indexFieldName = indexFieldName; } /** *

* A string that represents the name of an index field. CloudSearch supports * regular index fields as well as dynamic fields. A dynamic field's name * defines a pattern that begins or ends with a wildcard. Any document * fields that don't map to a regular index field but do match a dynamic * field's pattern are configured with the dynamic field's indexing options. *

*

* Regular field names begin with a letter and can contain the following * characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names * must begin or end with a wildcard (*). The wildcard can also be the only * character in a dynamic field name. Multiple wildcards, and wildcards * embedded within a string are not supported. *

*

* The name score is reserved and cannot be used as a field * name. To reference a document's ID, you can use the name _id * . *

* * @return A string that represents the name of an index field. CloudSearch * supports regular index fields as well as dynamic fields. A * dynamic field's name defines a pattern that begins or ends with a * wildcard. Any document fields that don't map to a regular index * field but do match a dynamic field's pattern are configured with * the dynamic field's indexing options.

*

* Regular field names begin with a letter and can contain the * following characters: a-z (lowercase), 0-9, and _ (underscore). * Dynamic field names must begin or end with a wildcard (*). The * wildcard can also be the only character in a dynamic field name. * Multiple wildcards, and wildcards embedded within a string are * not supported. *

*

* The name score is reserved and cannot be used as a * field name. To reference a document's ID, you can use the name * _id. */ public String getIndexFieldName() { return this.indexFieldName; } /** *

* A string that represents the name of an index field. CloudSearch supports * regular index fields as well as dynamic fields. A dynamic field's name * defines a pattern that begins or ends with a wildcard. Any document * fields that don't map to a regular index field but do match a dynamic * field's pattern are configured with the dynamic field's indexing options. *

*

* Regular field names begin with a letter and can contain the following * characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names * must begin or end with a wildcard (*). The wildcard can also be the only * character in a dynamic field name. Multiple wildcards, and wildcards * embedded within a string are not supported. *

*

* The name score is reserved and cannot be used as a field * name. To reference a document's ID, you can use the name _id * . *

* * @param indexFieldName * A string that represents the name of an index field. CloudSearch * supports regular index fields as well as dynamic fields. A dynamic * field's name defines a pattern that begins or ends with a * wildcard. Any document fields that don't map to a regular index * field but do match a dynamic field's pattern are configured with * the dynamic field's indexing options.

*

* Regular field names begin with a letter and can contain the * following characters: a-z (lowercase), 0-9, and _ (underscore). * Dynamic field names must begin or end with a wildcard (*). The * wildcard can also be the only character in a dynamic field name. * Multiple wildcards, and wildcards embedded within a string are not * supported. *

*

* The name score is reserved and cannot be used as a * field name. To reference a document's ID, you can use the name * _id. * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withIndexFieldName(String indexFieldName) { setIndexFieldName(indexFieldName); return this; } /** * @param indexFieldType * @see IndexFieldType */ public void setIndexFieldType(String indexFieldType) { this.indexFieldType = indexFieldType; } /** * @return * @see IndexFieldType */ public String getIndexFieldType() { return this.indexFieldType; } /** * @param indexFieldType * @return Returns a reference to this object so that method calls can be * chained together. * @see IndexFieldType */ public IndexField withIndexFieldType(String indexFieldType) { setIndexFieldType(indexFieldType); return this; } /** * @param indexFieldType * @see IndexFieldType */ public void setIndexFieldType(IndexFieldType indexFieldType) { this.indexFieldType = indexFieldType.toString(); } /** * @param indexFieldType * @return Returns a reference to this object so that method calls can be * chained together. * @see IndexFieldType */ public IndexField withIndexFieldType(IndexFieldType indexFieldType) { setIndexFieldType(indexFieldType); return this; } /** * @param intOptions */ public void setIntOptions(IntOptions intOptions) { this.intOptions = intOptions; } /** * @return */ public IntOptions getIntOptions() { return this.intOptions; } /** * @param intOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withIntOptions(IntOptions intOptions) { setIntOptions(intOptions); return this; } /** * @param doubleOptions */ public void setDoubleOptions(DoubleOptions doubleOptions) { this.doubleOptions = doubleOptions; } /** * @return */ public DoubleOptions getDoubleOptions() { return this.doubleOptions; } /** * @param doubleOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withDoubleOptions(DoubleOptions doubleOptions) { setDoubleOptions(doubleOptions); return this; } /** * @param literalOptions */ public void setLiteralOptions(LiteralOptions literalOptions) { this.literalOptions = literalOptions; } /** * @return */ public LiteralOptions getLiteralOptions() { return this.literalOptions; } /** * @param literalOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withLiteralOptions(LiteralOptions literalOptions) { setLiteralOptions(literalOptions); return this; } /** * @param textOptions */ public void setTextOptions(TextOptions textOptions) { this.textOptions = textOptions; } /** * @return */ public TextOptions getTextOptions() { return this.textOptions; } /** * @param textOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withTextOptions(TextOptions textOptions) { setTextOptions(textOptions); return this; } /** * @param dateOptions */ public void setDateOptions(DateOptions dateOptions) { this.dateOptions = dateOptions; } /** * @return */ public DateOptions getDateOptions() { return this.dateOptions; } /** * @param dateOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withDateOptions(DateOptions dateOptions) { setDateOptions(dateOptions); return this; } /** * @param latLonOptions */ public void setLatLonOptions(LatLonOptions latLonOptions) { this.latLonOptions = latLonOptions; } /** * @return */ public LatLonOptions getLatLonOptions() { return this.latLonOptions; } /** * @param latLonOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withLatLonOptions(LatLonOptions latLonOptions) { setLatLonOptions(latLonOptions); return this; } /** * @param intArrayOptions */ public void setIntArrayOptions(IntArrayOptions intArrayOptions) { this.intArrayOptions = intArrayOptions; } /** * @return */ public IntArrayOptions getIntArrayOptions() { return this.intArrayOptions; } /** * @param intArrayOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withIntArrayOptions(IntArrayOptions intArrayOptions) { setIntArrayOptions(intArrayOptions); return this; } /** * @param doubleArrayOptions */ public void setDoubleArrayOptions(DoubleArrayOptions doubleArrayOptions) { this.doubleArrayOptions = doubleArrayOptions; } /** * @return */ public DoubleArrayOptions getDoubleArrayOptions() { return this.doubleArrayOptions; } /** * @param doubleArrayOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withDoubleArrayOptions( DoubleArrayOptions doubleArrayOptions) { setDoubleArrayOptions(doubleArrayOptions); return this; } /** * @param literalArrayOptions */ public void setLiteralArrayOptions(LiteralArrayOptions literalArrayOptions) { this.literalArrayOptions = literalArrayOptions; } /** * @return */ public LiteralArrayOptions getLiteralArrayOptions() { return this.literalArrayOptions; } /** * @param literalArrayOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withLiteralArrayOptions( LiteralArrayOptions literalArrayOptions) { setLiteralArrayOptions(literalArrayOptions); return this; } /** * @param textArrayOptions */ public void setTextArrayOptions(TextArrayOptions textArrayOptions) { this.textArrayOptions = textArrayOptions; } /** * @return */ public TextArrayOptions getTextArrayOptions() { return this.textArrayOptions; } /** * @param textArrayOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withTextArrayOptions(TextArrayOptions textArrayOptions) { setTextArrayOptions(textArrayOptions); return this; } /** * @param dateArrayOptions */ public void setDateArrayOptions(DateArrayOptions dateArrayOptions) { this.dateArrayOptions = dateArrayOptions; } /** * @return */ public DateArrayOptions getDateArrayOptions() { return this.dateArrayOptions; } /** * @param dateArrayOptions * @return Returns a reference to this object so that method calls can be * chained together. */ public IndexField withDateArrayOptions(DateArrayOptions dateArrayOptions) { setDateArrayOptions(dateArrayOptions); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getIndexFieldName() != null) sb.append("IndexFieldName: " + getIndexFieldName() + ","); if (getIndexFieldType() != null) sb.append("IndexFieldType: " + getIndexFieldType() + ","); if (getIntOptions() != null) sb.append("IntOptions: " + getIntOptions() + ","); if (getDoubleOptions() != null) sb.append("DoubleOptions: " + getDoubleOptions() + ","); if (getLiteralOptions() != null) sb.append("LiteralOptions: " + getLiteralOptions() + ","); if (getTextOptions() != null) sb.append("TextOptions: " + getTextOptions() + ","); if (getDateOptions() != null) sb.append("DateOptions: " + getDateOptions() + ","); if (getLatLonOptions() != null) sb.append("LatLonOptions: " + getLatLonOptions() + ","); if (getIntArrayOptions() != null) sb.append("IntArrayOptions: " + getIntArrayOptions() + ","); if (getDoubleArrayOptions() != null) sb.append("DoubleArrayOptions: " + getDoubleArrayOptions() + ","); if (getLiteralArrayOptions() != null) sb.append("LiteralArrayOptions: " + getLiteralArrayOptions() + ","); if (getTextArrayOptions() != null) sb.append("TextArrayOptions: " + getTextArrayOptions() + ","); if (getDateArrayOptions() != null) sb.append("DateArrayOptions: " + getDateArrayOptions()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof IndexField == false) return false; IndexField other = (IndexField) obj; if (other.getIndexFieldName() == null ^ this.getIndexFieldName() == null) return false; if (other.getIndexFieldName() != null && other.getIndexFieldName().equals(this.getIndexFieldName()) == false) return false; if (other.getIndexFieldType() == null ^ this.getIndexFieldType() == null) return false; if (other.getIndexFieldType() != null && other.getIndexFieldType().equals(this.getIndexFieldType()) == false) return false; if (other.getIntOptions() == null ^ this.getIntOptions() == null) return false; if (other.getIntOptions() != null && other.getIntOptions().equals(this.getIntOptions()) == false) return false; if (other.getDoubleOptions() == null ^ this.getDoubleOptions() == null) return false; if (other.getDoubleOptions() != null && other.getDoubleOptions().equals(this.getDoubleOptions()) == false) return false; if (other.getLiteralOptions() == null ^ this.getLiteralOptions() == null) return false; if (other.getLiteralOptions() != null && other.getLiteralOptions().equals(this.getLiteralOptions()) == false) return false; if (other.getTextOptions() == null ^ this.getTextOptions() == null) return false; if (other.getTextOptions() != null && other.getTextOptions().equals(this.getTextOptions()) == false) return false; if (other.getDateOptions() == null ^ this.getDateOptions() == null) return false; if (other.getDateOptions() != null && other.getDateOptions().equals(this.getDateOptions()) == false) return false; if (other.getLatLonOptions() == null ^ this.getLatLonOptions() == null) return false; if (other.getLatLonOptions() != null && other.getLatLonOptions().equals(this.getLatLonOptions()) == false) return false; if (other.getIntArrayOptions() == null ^ this.getIntArrayOptions() == null) return false; if (other.getIntArrayOptions() != null && other.getIntArrayOptions().equals(this.getIntArrayOptions()) == false) return false; if (other.getDoubleArrayOptions() == null ^ this.getDoubleArrayOptions() == null) return false; if (other.getDoubleArrayOptions() != null && other.getDoubleArrayOptions().equals( this.getDoubleArrayOptions()) == false) return false; if (other.getLiteralArrayOptions() == null ^ this.getLiteralArrayOptions() == null) return false; if (other.getLiteralArrayOptions() != null && other.getLiteralArrayOptions().equals( this.getLiteralArrayOptions()) == false) return false; if (other.getTextArrayOptions() == null ^ this.getTextArrayOptions() == null) return false; if (other.getTextArrayOptions() != null && other.getTextArrayOptions().equals( this.getTextArrayOptions()) == false) return false; if (other.getDateArrayOptions() == null ^ this.getDateArrayOptions() == null) return false; if (other.getDateArrayOptions() != null && other.getDateArrayOptions().equals( this.getDateArrayOptions()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getIndexFieldName() == null) ? 0 : getIndexFieldName() .hashCode()); hashCode = prime * hashCode + ((getIndexFieldType() == null) ? 0 : getIndexFieldType() .hashCode()); hashCode = prime * hashCode + ((getIntOptions() == null) ? 0 : getIntOptions().hashCode()); hashCode = prime * hashCode + ((getDoubleOptions() == null) ? 0 : getDoubleOptions() .hashCode()); hashCode = prime * hashCode + ((getLiteralOptions() == null) ? 0 : getLiteralOptions() .hashCode()); hashCode = prime * hashCode + ((getTextOptions() == null) ? 0 : getTextOptions().hashCode()); hashCode = prime * hashCode + ((getDateOptions() == null) ? 0 : getDateOptions().hashCode()); hashCode = prime * hashCode + ((getLatLonOptions() == null) ? 0 : getLatLonOptions() .hashCode()); hashCode = prime * hashCode + ((getIntArrayOptions() == null) ? 0 : getIntArrayOptions() .hashCode()); hashCode = prime * hashCode + ((getDoubleArrayOptions() == null) ? 0 : getDoubleArrayOptions().hashCode()); hashCode = prime * hashCode + ((getLiteralArrayOptions() == null) ? 0 : getLiteralArrayOptions().hashCode()); hashCode = prime * hashCode + ((getTextArrayOptions() == null) ? 0 : getTextArrayOptions() .hashCode()); hashCode = prime * hashCode + ((getDateArrayOptions() == null) ? 0 : getDateArrayOptions() .hashCode()); return hashCode; } @Override public IndexField clone() { try { return (IndexField) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy