shiver.me.timbers.aws.kinesisanalytics.ApplicationReferenceDataSourceReferenceSchema Maven / Gradle / Ivy
Show all versions of smt-cloudformation-objects Show documentation
package shiver.me.timbers.aws.kinesisanalytics;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import shiver.me.timbers.aws.Property;
/**
* ApplicationReferenceDataSourceReferenceSchema
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"RecordEncoding",
"RecordColumns",
"RecordFormat"
})
public class ApplicationReferenceDataSourceReferenceSchema implements Property
{
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordencoding
*
*/
@JsonProperty("RecordEncoding")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordencoding")
private CharSequence recordEncoding;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordcolumns
*
*/
@JsonProperty("RecordColumns")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordcolumns")
private List> recordColumns = new ArrayList>();
/**
* ApplicationReferenceDataSourceRecordFormat
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html
*
*/
@JsonProperty("RecordFormat")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html")
private Property recordFormat;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordencoding
*
*/
@JsonIgnore
public CharSequence getRecordEncoding() {
return recordEncoding;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordencoding
*
*/
@JsonIgnore
public void setRecordEncoding(CharSequence recordEncoding) {
this.recordEncoding = recordEncoding;
}
public ApplicationReferenceDataSourceReferenceSchema withRecordEncoding(CharSequence recordEncoding) {
this.recordEncoding = recordEncoding;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordcolumns
*
*/
@JsonIgnore
public List> getRecordColumns() {
return recordColumns;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordcolumns
*
*/
@JsonIgnore
public void setRecordColumns(List> recordColumns) {
this.recordColumns = recordColumns;
}
public ApplicationReferenceDataSourceReferenceSchema withRecordColumns(List> recordColumns) {
this.recordColumns = recordColumns;
return this;
}
/**
* ApplicationReferenceDataSourceRecordFormat
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html
*
*/
@JsonIgnore
public Property getRecordFormat() {
return recordFormat;
}
/**
* ApplicationReferenceDataSourceRecordFormat
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html
*
*/
@JsonIgnore
public void setRecordFormat(Property recordFormat) {
this.recordFormat = recordFormat;
}
public ApplicationReferenceDataSourceReferenceSchema withRecordFormat(Property recordFormat) {
this.recordFormat = recordFormat;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("recordEncoding", recordEncoding).append("recordColumns", recordColumns).append("recordFormat", recordFormat).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(recordFormat).append(recordEncoding).append(recordColumns).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof ApplicationReferenceDataSourceReferenceSchema) == false) {
return false;
}
ApplicationReferenceDataSourceReferenceSchema rhs = ((ApplicationReferenceDataSourceReferenceSchema) other);
return new EqualsBuilder().append(recordFormat, rhs.recordFormat).append(recordEncoding, rhs.recordEncoding).append(recordColumns, rhs.recordColumns).isEquals();
}
}