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>
DatastoreMetadataFactory
implementation for Neo4j datastores.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<CollectionPropertyMetadata>
CollectionPropertyMetadatacreateCollectionPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod) 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) <ImplementedByMetadata>
ImplementedByMetadatacreateImplementedByMetadata(com.buschmais.xo.api.metadata.reflection.AnnotatedMethod annotatedMethod) createIndexedPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod) protected abstract LcreateLabel(String name) createPropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod) <ReferencePropertyMetadata>
ReferencePropertyMetadatacreateReferencePropertyMetadata(com.buschmais.xo.api.metadata.reflection.PropertyMethod propertyMethod) 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 boolean
-
Constructor Details
-
AbstractNeo4jMetadataFactory
public AbstractNeo4jMetadataFactory()
-
-
Method Details
-
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>
-
createRelationshipType
-
createLabel
-
isBatchableDefault
protected abstract boolean isBatchableDefault()
-