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

com.datastax.driver.dse.graph.DefaultVertexProperty Maven / Gradle / Ivy

/*
 *      Copyright (C) 2012-2016 DataStax Inc.
 *
 *      This software can be used solely with DataStax Enterprise. Please consult the license at
 *      http://www.datastax.com/terms/datastax-dse-driver-license-terms
 */
package com.datastax.driver.dse.graph;


import com.google.common.base.Objects;

class DefaultVertexProperty extends DefaultElement implements VertexProperty {

    GraphNode value;

    Vertex parent;

    DefaultVertexProperty() {
    }

    public String getName() {
        return getLabel();
    }

    @Override
    public Vertex getParent() {
        return parent;
    }

    @Override
    public GraphNode getValue() {
        return value;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof VertexProperty)) return false;
        if (!super.equals(o)) return false;
        VertexProperty that = (VertexProperty) o;
        return Objects.equal(getValue(), that.getValue()) &&
                Objects.equal(getParent(), that.getParent());
    }

    @Override
    public int hashCode() {
        // getParent() deliberately left out for faster hashcodes
        return Objects.hashCode(super.hashCode(), getValue());
    }

    @Override
    public String toString() {
        return Objects.toStringHelper(this)
                .add("id", getId())
                .add("label", getLabel())
                .add("properties", getProperties())
                .add("name", getName())
                .add("value", getValue())
                .add("parent", getParent())
                .toString();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy