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

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

Go to download

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.

There is a newer version: 2.4.0
Show newest version
/*
 * 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") +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy