// Generated by delombok at Sat Jun 11 11:12:44 CEST 2016

public final class ValueWithGeneric176<T> {
    private final T name;
    private final int count;

    public static void main(String[] args) {
        ValueWithGeneric176<String> valueObject = ValueWithGeneric176.of("thing1", 10);
        System.out.println(valueObject);
    }

    @java.lang.SuppressWarnings("all")
    private ValueWithGeneric176(final T name, final int count) {
        this.name = name;
        this.count = count;
    }

    @java.lang.SuppressWarnings("all")
    public static <T> ValueWithGeneric176<T> of(final T name, final int count) {
        return new ValueWithGeneric176<T>(name, count);
    }

    @java.lang.SuppressWarnings("all")
    public T getName() {
        return this.name;
    }

    @java.lang.SuppressWarnings("all")
    public int getCount() {
        return this.count;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof ValueWithGeneric176)) return false;
        final ValueWithGeneric176<?> other = (ValueWithGeneric176<?>) o;
        final java.lang.Object this$name = this.getName();
        final java.lang.Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
        if (this.getCount() != other.getCount()) return false;
        return true;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final java.lang.Object $name = this.getName();
        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
        result = result * PRIME + this.getCount();
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    public java.lang.String toString() {
        return "ValueWithGeneric176(name=" + this.getName() + ", count=" + this.getCount() + ")";
    }
}
