redis.clients.jedis.graph.entities.GraphEntity Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jedis Show documentation
Show all versions of jedis Show documentation
Jedis is a blazingly small and sane Redis java client.
package redis.clients.jedis.graph.entities;
import java.util.*;
/**
* This is an abstract class for representing a graph entity. A graph entity has an id and a set of
* properties. The properties are mapped and accessed by their names.
* @deprecated Redis Graph support is deprecated.
*/
@Deprecated
public abstract class GraphEntity {
protected long id;
protected final Map> propertyMap;
public GraphEntity() {
propertyMap = new HashMap<>();
}
/**
* Use this constructor to reduce memory allocations
* when properties are added to the edge
* @param propertiesCapacity preallocate the capacity for the properties
*/
public GraphEntity(int propertiesCapacity) {
propertyMap = new HashMap<>(propertiesCapacity);
}
/**
* @return entity id
*/
public long getId() {
return id;
}
/**
* @param id - entity id to be set
*/
public void setId(long id) {
this.id = id;
}
/**
* Adds a property to the entity, by composing name, type and value to a property object
*
* @param name
* @param value
*/
public void addProperty(String name, Object value) {
addProperty(new Property(name, value));
}
/**
* @return Entity's property names, as a Set
*/
public Set getEntityPropertyNames() {
return propertyMap.keySet();
}
/**
* Add a property to the entity
*
* @param property
*/
public void addProperty(Property property) {
propertyMap.put(property.getName(), property);
}
/**
* @return number of properties
*/
public int getNumberOfProperties() {
return propertyMap.size();
}
/**
* @param propertyName - property name as lookup key (String)
* @return property object, or null if key is not found
*/
public Property getProperty(String propertyName) {
return propertyMap.get(propertyName);
}
/**
* @param name - the name of the property to be removed
*/
public void removeProperty(String name) {
propertyMap.remove(name);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof GraphEntity)) {
return false;
}
GraphEntity that = (GraphEntity) o;
return id == that.id
&& Objects.equals(propertyMap, that.propertyMap);
}
@Override
public int hashCode() {
return Objects.hash(id, propertyMap);
}
@Override
public abstract String toString();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy