package com.basho.riak.client.core.query.timeseries;

/**
 * A Metadata description of a column in Riak Time Series.
 * Contains a column name and column type.
 *
 * @author Alex Moore <amoore at basho dot com>
 * @author Sergey Galkin <srggal at gmail dot com>
 * @since 2.0.3
 */
public class ColumnDescription
{
    private final String name;
    private final ColumnType type;

    public ColumnDescription(String name, ColumnType type)
    {
        this.name = name;
        this.type = type;
    }

    public String getName()
    {
        return name;
    }

    public ColumnType getType()
    {
        return type;
    }

    /**
     * Values MUST BE IN THE SAME ORDER AS in the RiakTsPB.TsColumnType
     */
    public enum ColumnType
    {
        VARCHAR,
        SINT64,
        DOUBLE,
        TIMESTAMP,
        BOOLEAN
    }
}

@@ -432,32 +432,313 @@
 ype type)%0A    %7B%0A
+        if(name == null %7C%7C name.isEmpty())%0A        %7B%0A            throw new IllegalArgumentException(%22Column Name must not be null or empty.%22);%0A        %7D%0A%0A        if(type == null)%0A        %7B%0A            throw new IllegalArgumentException(%22Column Type must not be null.%22);%0A        %7D%0A%0A
         this.nam
@@ -1118,11 +1118,579 @@
 AN%0A    %7D
+%0A%0A    @Override%0A    public boolean equals(Object o)%0A    %7B%0A        if (this == o)%0A        %7B%0A            return true;%0A        %7D%0A        if (o == null %7C%7C getClass() != o.getClass())%0A        %7B%0A            return false;%0A        %7D%0A%0A        ColumnDescription that = (ColumnDescription) o;%0A%0A        if (!name.equals(that.name))%0A        %7B%0A            return false;%0A        %7D%0A        return type == that.type;%0A%0A    %7D%0A%0A    @Override%0A    public int hashCode()%0A    %7B%0A        int result = name.hashCode();%0A        result = 31 * result + type.hashCode();%0A        return result;%0A    %7D
 %0A%7D%0A

Add missing equals() for ColumnDescription