com.datastax.driver.dse.graph.DefaultVertexProperty Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dse-java-driver-core Show documentation
Show all versions of dse-java-driver-core Show documentation
A driver for DataStax Enterprise (DSE)
and Apache Cassandra 1.2+ clusters that works exclusively with the
Cassandra Query Language version 3 (CQL3) and Cassandra's binary protocol,
supporting DSE-specific features such as geospatial types, DSE Graph and DSE authentication.
/*
* Copyright (C) 2012-2017 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 "VertexProperty{" +
"id=" + id +
", properties=" + properties +
", name=" + getName() +
", value=" + value +
", parent-id=" + (parent != null ? parent.getId() : "null") +
'}';
}
}