Class AbstractRemoteDatastorePropertyManager<T extends AbstractRemotePropertyContainer>
- java.lang.Object
-
- com.buschmais.xo.neo4j.remote.impl.datastore.AbstractRemoteDatastorePropertyManager<T>
-
- All Implemented Interfaces:
com.buschmais.xo.spi.datastore.DatastorePropertyManager<T,PropertyMetadata>
- Direct Known Subclasses:
RemoteDatastoreEntityManager,RemoteDatastoreRelationManager
public abstract class AbstractRemoteDatastorePropertyManager<T extends AbstractRemotePropertyContainer> extends Object implements com.buschmais.xo.spi.datastore.DatastorePropertyManager<T,PropertyMetadata>
-
-
Field Summary
Fields Modifier and Type Field Description protected RemoteDatastoreSessionCachedatastoreSessionCacheprotected StatementExecutorstatementExecutor
-
Constructor Summary
Constructors Constructor Description AbstractRemoteDatastorePropertyManager(StatementExecutor statementExecutor, RemoteDatastoreSessionCache datastoreSessionCache)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidafterCompletion(T entity, boolean clear)protected voidensureLoaded(T entity)protected voidflush(StatementBatchBuilder batchBuilder, T entity, String pattern, String identifier)protected Map<String,Object>getProperties(Map<com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata>,Object> exampleEntity)ObjectgetProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata)booleanhasProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata)protected abstract org.neo4j.driver.types.Entityload(T entity)voidremoveProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata)voidsetProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata, Object value)
-
-
-
Field Detail
-
statementExecutor
protected StatementExecutor statementExecutor
-
datastoreSessionCache
protected RemoteDatastoreSessionCache datastoreSessionCache
-
-
Constructor Detail
-
AbstractRemoteDatastorePropertyManager
public AbstractRemoteDatastorePropertyManager(StatementExecutor statementExecutor, RemoteDatastoreSessionCache datastoreSessionCache)
-
-
Method Detail
-
setProperty
public void setProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata, Object value)
- Specified by:
setPropertyin interfacecom.buschmais.xo.spi.datastore.DatastorePropertyManager<T extends AbstractRemotePropertyContainer,PropertyMetadata>
-
hasProperty
public boolean hasProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata)
- Specified by:
hasPropertyin interfacecom.buschmais.xo.spi.datastore.DatastorePropertyManager<T extends AbstractRemotePropertyContainer,PropertyMetadata>
-
removeProperty
public void removeProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata)
- Specified by:
removePropertyin interfacecom.buschmais.xo.spi.datastore.DatastorePropertyManager<T extends AbstractRemotePropertyContainer,PropertyMetadata>
-
getProperty
public Object getProperty(T entity, com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata> metadata)
- Specified by:
getPropertyin interfacecom.buschmais.xo.spi.datastore.DatastorePropertyManager<T extends AbstractRemotePropertyContainer,PropertyMetadata>
-
flush
protected void flush(StatementBatchBuilder batchBuilder, T entity, String pattern, String identifier)
-
afterCompletion
public final void afterCompletion(T entity, boolean clear)
- Specified by:
afterCompletionin interfacecom.buschmais.xo.spi.datastore.DatastorePropertyManager<T extends AbstractRemotePropertyContainer,PropertyMetadata>
-
ensureLoaded
protected final void ensureLoaded(T entity)
-
getProperties
protected Map<String,Object> getProperties(Map<com.buschmais.xo.api.metadata.method.PrimitivePropertyMethodMetadata<PropertyMetadata>,Object> exampleEntity)
-
load
protected abstract org.neo4j.driver.types.Entity load(T entity)
-
-