Package com.buschmais.xo.neo4j.spi
Class AbstractNeo4jMetadataFactory<L extends Neo4jLabel,R extends Neo4jRelationshipType>
- java.lang.Object
-
- com.buschmais.xo.neo4j.spi.AbstractNeo4jMetadataFactory<L,R>
-
- All Implemented Interfaces:
DatastoreMetadataFactory<NodeMetadata<L>,L,RelationshipMetadata<R>,R>
public abstract class AbstractNeo4jMetadataFactory<L extends Neo4jLabel,R extends Neo4jRelationshipType> extends Object implements DatastoreMetadataFactory<NodeMetadata<L>,L,RelationshipMetadata<R>,R>
DatastoreMetadataFactoryimplementation for Neo4j datastores.
-
-
Constructor Summary
Constructors Constructor Description AbstractNeo4jMetadataFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <CollectionPropertyMetadata>
CollectionPropertyMetadatacreateCollectionPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)NodeMetadatacreateEntityMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedType annotatedType, List<com.buschmais.xo.api.metadata.type.TypeMetadata> superTypes, Map<Class<?>,com.buschmais.xo.api.metadata.type.TypeMetadata> metadataByType)<ImplementedByMetadata>
ImplementedByMetadatacreateImplementedByMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedMethod annotatedMethod)IndexedPropertyMetadatacreateIndexedPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)protected abstract LcreateLabel(String name)PropertyMetadatacreatePropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)<ReferencePropertyMetadata>
ReferencePropertyMetadatacreateReferencePropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)RelationshipMetadata<R>createRelationMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedElement<?> annotatedElement, Map<Class<?>,com.buschmais.xo.api.metadata.type.TypeMetadata> metadataByType)protected abstract RcreateRelationshipType(String name)protected abstract booleanisBatchableDefault()
-
-
-
Method Detail
-
createEntityMetadata
public NodeMetadata createEntityMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedType annotatedType, List<com.buschmais.xo.api.metadata.type.TypeMetadata> superTypes, Map<Class<?>,com.buschmais.xo.api.metadata.type.TypeMetadata> metadataByType)
- Specified by:
createEntityMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
createImplementedByMetadata
public <ImplementedByMetadata> ImplementedByMetadata createImplementedByMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedMethod annotatedMethod)
- Specified by:
createImplementedByMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
createCollectionPropertyMetadata
public <CollectionPropertyMetadata> CollectionPropertyMetadata createCollectionPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)
- Specified by:
createCollectionPropertyMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
createReferencePropertyMetadata
public <ReferencePropertyMetadata> ReferencePropertyMetadata createReferencePropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)
- Specified by:
createReferencePropertyMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
createPropertyMetadata
public PropertyMetadata createPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)
- Specified by:
createPropertyMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
createIndexedPropertyMetadata
public IndexedPropertyMetadata createIndexedPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod)
- Specified by:
createIndexedPropertyMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
createRelationMetadata
public RelationshipMetadata<R> createRelationMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedElement<?> annotatedElement, Map<Class<?>,com.buschmais.xo.api.metadata.type.TypeMetadata> metadataByType)
- Specified by:
createRelationMetadatain interfaceDatastoreMetadataFactory<NodeMetadata<L extends Neo4jLabel>,L extends Neo4jLabel,RelationshipMetadata<R extends Neo4jRelationshipType>,R extends Neo4jRelationshipType>
-
isBatchableDefault
protected abstract boolean isBatchableDefault()
-
-