class Sequence extends AbstractDatabaseObject {

    public Sequence() {
    }

    public Sequence(String catalogName, String schemaName, String sequenceName) {
        this.setSchema(new Schema(catalogName, schemaName));
        this.setName(sequenceName);
    }

    @Override
    public DatabaseObject[] getContainingObjects() {
        return null;
    }

    @Override
    public String getName() {
        return getAttribute("name", String.class);
    }

    @Override
    public Sequence setName(String name) {
        this.setAttribute("name", name);
        return this;
    }

    public BigInteger getStartValue() {
        return getAttribute("startValue", BigInteger.class);
    }

    public Sequence setStartValue(BigInteger startValue) {
        this.setAttribute("startValue", startValue);
        return this;
    }

    public BigInteger getIncrementBy() {
        return getAttribute("incrementBy", BigInteger.class);
    }

    public Sequence setIncrementBy(BigInteger incrementBy) {
        this.setAttribute("incrementBy", incrementBy);
        return this;

    }

    @Override
    public boolean equals(Object o) {<FILL_FUNCTION_BODY>}

    @Override
    public int hashCode() {
        return ((getName() != null) ? getName().toUpperCase().hashCode() : 0);
    }


    @Override
    public String toString() {
        return getName();
    }

	/**
	 * @return Returns the schema.
	 */
	@Override
    public Schema getSchema () {
		return getAttribute("schema", Schema.class);
	}

	/**
	 * @param schema The schema to set.
	 */
	public Sequence setSchema (Schema schema) {
		this.setAttribute("schema", schema);
        return this;
	}

    public Sequence setSchema(String catalog, String schema) {
        return setSchema(new Schema(catalog, schema));
    }

    public BigInteger getMinValue() {
        return getAttribute("minValue", BigInteger.class);
    }

    public Sequence setMinValue(BigInteger minValue) {
        this.setAttribute("minValue", minValue);
        return this;
    }

    public BigInteger getMaxValue() {
        return getAttribute("maxValue", BigInteger.class);
    }

    public Sequence setMaxValue(BigInteger maxValue) {
        this.setAttribute("maxValue", maxValue);

        return this;
    }

    public Boolean getWillCycle() {
        return getAttribute("willCycle", Boolean.class);
    }

    public Sequence setWillCycle(Boolean willCycle) {
        this.setAttribute("willCycle", willCycle);
        return this;
    }

    public Boolean getOrdered() {
        return getAttribute("ordered", Boolean.class);
    }

    public Sequence setOrdered(Boolean isOrdered) {
        this.setAttribute("ordered", isOrdered);

        return this;
    }

    public BigInteger getLastReturnedValue() {
        return getAttribute("lastReturnedValue", BigInteger.class);
    }

    public Sequence setLastReturnedValue(BigInteger lastReturnedValue) {
        this.setAttribute("lastReturnedValue", lastReturnedValue);

        return this;
    }

    public BigInteger getCacheSize() {
        return getAttribute("cacheSize", BigInteger.class);
    }

    public Sequence setCacheSize(BigInteger cacheSize) {
        this.setAttribute("cacheSize", cacheSize);
        return this;
    }

    public String getDataType() {
        return getAttribute("dataType", String.class);
    }
    public Sequence setDataType(String dataType) {
        this.setAttribute("dataType", dataType);
        return this;
    }
}

        if (this == o) return true;
        if ((o == null) || (getClass() != o.getClass())) return false;

        Sequence sequence = (Sequence) o;

        if ((this.getSchema() != null) && (sequence.getSchema() != null)) {
            boolean schemasEqual = this.getSchema().equals(sequence.getSchema());
            if (!schemasEqual) {
                return false;
            }
        }

        return !((getName() != null) ? !getName().equalsIgnoreCase(sequence.getName()) : (sequence.getName() != null));

    
<methods>public non-sealed void <init>() ,public int compareTo(java.lang.Object) ,public T getAttribute(java.lang.String, Class<T>) ,public T getAttribute(java.lang.String, T) ,public Set<java.lang.String> getAttributes() ,public java.lang.String getObjectTypeName() ,public java.lang.String getSerializableFieldNamespace(java.lang.String) ,public liquibase.serializer.LiquibaseSerializable.SerializationType getSerializableFieldType(java.lang.String) ,public java.lang.Object getSerializableFieldValue(java.lang.String) ,public Set<java.lang.String> getSerializableFields() ,public java.lang.String getSerializedObjectName() ,public java.lang.String getSerializedObjectNamespace() ,public java.lang.String getSnapshotId() ,public void load(liquibase.parser.core.ParsedNode, liquibase.resource.ResourceAccessor) throws liquibase.parser.core.ParsedNodeException,public liquibase.parser.core.ParsedNode serialize() ,public liquibase.structure.DatabaseObject setAttribute(java.lang.String, java.lang.Object) ,public void setSnapshotId(java.lang.String) ,public boolean shouldIncludeCatalogInSpecification() ,public boolean snapshotByDefault() ,public java.lang.String toString() <variables>public static final java.util.regex.Pattern CURLY_BRACKET_PATTERN,private static final java.lang.String CURLY_BRACKET_REGEX,private final Map<java.lang.String,java.lang.Object> attributes,private java.lang.String snapshotId