Neo4j Community

org.neo4j.kernel
Class InternalAbstractGraphDatabase

java.lang.Object
  extended by org.neo4j.kernel.AbstractGraphDatabase
      extended by org.neo4j.kernel.InternalAbstractGraphDatabase
All Implemented Interfaces:
GraphDatabaseService, GraphDatabaseAPI
Direct Known Subclasses:
EmbeddedGraphDatabase, EmbeddedReadOnlyGraphDatabase

public abstract class InternalAbstractGraphDatabase
extends AbstractGraphDatabase
implements GraphDatabaseService, GraphDatabaseAPI

Base implementation of GraphDatabaseService. Responsible for creating services, handling dependencies between them, and lifecycle management of these.


Nested Class Summary
static class InternalAbstractGraphDatabase.Configuration
           
static interface InternalAbstractGraphDatabase.Dependencies
           
 
Method Summary
 Transaction beginTx()
          Starts a new transaction and associates it with the current thread.
 Node createNode()
          Creates a new node.
 boolean equals(Object o)
           
 Iterable<Node> getAllNodes()
          Returns all nodes in the graph.
 org.neo4j.kernel.configuration.Config getConfig()
           
 DependencyResolver getDependencyResolver()
           
 org.neo4j.kernel.info.DiagnosticsManager getDiagnosticsManager()
           
 org.neo4j.kernel.guard.Guard getGuard()
           
 IdGeneratorFactory getIdGeneratorFactory()
           
 KernelData getKernelData()
           
 org.neo4j.kernel.impl.core.KernelPanicEventGenerator getKernelPanicGenerator()
           
 org.neo4j.kernel.impl.transaction.LockManager getLockManager()
           
 org.neo4j.kernel.impl.util.StringLogger getMessageLog()
           
 Node getNodeById(long id)
          Looks up a node by id.
 org.neo4j.kernel.impl.core.NodeManager getNodeManager()
           
 org.neo4j.kernel.impl.persistence.PersistenceSource getPersistenceSource()
           
 Node getReferenceNode()
          Returns the reference node, which is a "starting point" in the node space.
 Relationship getRelationshipById(long id)
          Looks up a relationship by id.
 org.neo4j.kernel.impl.core.RelationshipTypeHolder getRelationshipTypeHolder()
           
 Iterable<RelationshipType> getRelationshipTypes()
          Returns all relationship types currently in the underlying store.
 String getStoreDir()
           
 org.neo4j.kernel.impl.nioneo.store.StoreId getStoreId()
           
 org.neo4j.kernel.impl.transaction.xaframework.TxIdGenerator getTxIdGenerator()
           
 TransactionManager getTxManager()
           
 org.neo4j.kernel.impl.transaction.XaDataSourceManager getXaDataSourceManager()
           
 int hashCode()
           
 IndexManager index()
          Returns the IndexManager paired with this graph database service and is the entry point for managing indexes coupled with this database.
 boolean isAvailable(long timeout)
          Use this method to check if the database is in a usable state.
 KernelEventHandler registerKernelEventHandler(KernelEventHandler handler)
          Registers handler as a handler for kernel events which are generated from different places in the lifecycle of the kernel.
<T> TransactionEventHandler<T>
registerTransactionEventHandler(TransactionEventHandler<T> handler)
          Registers handler as a handler for transaction events which are generated from different places in the lifecycle of each transaction.
 void shutdown()
          Shuts down Neo4j.
 String toString()
           
 boolean transactionRunning()
           
 TransactionBuilder tx()
           
 KernelEventHandler unregisterKernelEventHandler(KernelEventHandler handler)
          Unregisters handler from the list of kernel event handlers.
<T> TransactionEventHandler<T>
unregisterTransactionEventHandler(TransactionEventHandler<T> handler)
          Unregisters handler from the list of transaction event handlers.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getDependencyResolver

public DependencyResolver getDependencyResolver()
Specified by:
getDependencyResolver in interface GraphDatabaseAPI

isAvailable

public boolean isAvailable(long timeout)
Description copied from interface: GraphDatabaseService
Use this method to check if the database is in a usable state. If the database is currently not in a usable state, you can provide a timeout to wait for it to become so. If the database has been shutdown this immediately returns false.

Specified by:
isAvailable in interface GraphDatabaseService

shutdown

public void shutdown()
Description copied from interface: GraphDatabaseService
Shuts down Neo4j. After this method has been invoked, it's invalid to invoke any methods in the Neo4j API and all references to this instance of GraphDatabaseService should be discarded.

Specified by:
shutdown in interface GraphDatabaseService

getStoreDir

public final String getStoreDir()
Specified by:
getStoreDir in interface GraphDatabaseAPI

getStoreId

public org.neo4j.kernel.impl.nioneo.store.StoreId getStoreId()
Specified by:
getStoreId in interface GraphDatabaseAPI

beginTx

public Transaction beginTx()
Description copied from interface: GraphDatabaseService
Starts a new transaction and associates it with the current thread.

Specified by:
beginTx in interface GraphDatabaseService
Returns:
a new transaction instance

transactionRunning

public boolean transactionRunning()
Specified by:
transactionRunning in class AbstractGraphDatabase

toString

public String toString()
Overrides:
toString in class Object

getAllNodes

public Iterable<Node> getAllNodes()
Description copied from interface: GraphDatabaseService
Returns all nodes in the graph.

Specified by:
getAllNodes in interface GraphDatabaseService
Returns:
all nodes in the graph.

getRelationshipTypes

public Iterable<RelationshipType> getRelationshipTypes()
Description copied from interface: GraphDatabaseService
Returns all relationship types currently in the underlying store. Relationship types are added to the underlying store the first time they are used in a successfully commited node.createRelationshipTo(...). Note that this method is guaranteed to return all known relationship types, but it does not guarantee that it won't return more than that (e.g. it can return "historic" relationship types that no longer have any relationships in the node space).

Specified by:
getRelationshipTypes in interface GraphDatabaseService
Returns:
all relationship types in the underlying store

registerKernelEventHandler

public KernelEventHandler registerKernelEventHandler(KernelEventHandler handler)
Description copied from interface: GraphDatabaseService
Registers handler as a handler for kernel events which are generated from different places in the lifecycle of the kernel. To guarantee proper behaviour the handler should be registered right after the graph database has been started. If the specified handler instance has already been registered this method will do nothing.

Specified by:
registerKernelEventHandler in interface GraphDatabaseService
Parameters:
handler - the handler to receive events about different states in the kernel lifecycle.
Returns:
the handler passed in as the argument.

registerTransactionEventHandler

public <T> TransactionEventHandler<T> registerTransactionEventHandler(TransactionEventHandler<T> handler)
Description copied from interface: GraphDatabaseService
Registers handler as a handler for transaction events which are generated from different places in the lifecycle of each transaction. To guarantee that the handler gets all events properly it shouldn't be registered when the application is running (i.e. in the middle of one or more transactions). If the specified handler instance has already been registered this method will do nothing.

Specified by:
registerTransactionEventHandler in interface GraphDatabaseService
Type Parameters:
T - the type of state object used in the handler, see more documentation about it at TransactionEventHandler.
Parameters:
handler - the handler to receive events about different states in transaction lifecycles.
Returns:
the handler passed in as the argument.

unregisterKernelEventHandler

public KernelEventHandler unregisterKernelEventHandler(KernelEventHandler handler)
Description copied from interface: GraphDatabaseService
Unregisters handler from the list of kernel event handlers. If handler hasn't been registered with GraphDatabaseService.registerKernelEventHandler(KernelEventHandler) prior to calling this method an IllegalStateException will be thrown. After a successful call to this method the handler will no longer receive any kernel events.

Specified by:
unregisterKernelEventHandler in interface GraphDatabaseService
Parameters:
handler - the handler to receive events about different states in the kernel lifecycle.
Returns:
the handler passed in as the argument.

unregisterTransactionEventHandler

public <T> TransactionEventHandler<T> unregisterTransactionEventHandler(TransactionEventHandler<T> handler)
Description copied from interface: GraphDatabaseService
Unregisters handler from the list of transaction event handlers. If handler hasn't been registered with GraphDatabaseService.registerTransactionEventHandler(TransactionEventHandler) prior to calling this method an IllegalStateException will be thrown. After a successful call to this method the handler will no longer receive any transaction events.

Specified by:
unregisterTransactionEventHandler in interface GraphDatabaseService
Type Parameters:
T - the type of state object used in the handler, see more documentation about it at TransactionEventHandler.
Parameters:
handler - the handler to receive events about different states in transaction lifecycles.
Returns:
the handler passed in as the argument.

createNode

public Node createNode()
Description copied from interface: GraphDatabaseService
Creates a new node.

Specified by:
createNode in interface GraphDatabaseService
Returns:
the created node.

getNodeById

public Node getNodeById(long id)
Description copied from interface: GraphDatabaseService
Looks up a node by id. Please note: Neo4j reuses its internal ids when nodes and relationships are deleted, which means it's bad practice to refer to them this way. Instead, use application generated ids.

Specified by:
getNodeById in interface GraphDatabaseService
Parameters:
id - the id of the node
Returns:
the node with id id if found

getRelationshipById

public Relationship getRelationshipById(long id)
Description copied from interface: GraphDatabaseService
Looks up a relationship by id. Please note: Neo4j reuses its internal ids when nodes and relationships are deleted, which means it's bad practice to refer to them this way. Instead, use application generated ids.

Specified by:
getRelationshipById in interface GraphDatabaseService
Parameters:
id - the id of the relationship
Returns:
the relationship with id id if found

getReferenceNode

public Node getReferenceNode()
Description copied from interface: GraphDatabaseService
Returns the reference node, which is a "starting point" in the node space. Usually, a client attaches relationships to this node that leads into various parts of the node space.

Specified by:
getReferenceNode in interface GraphDatabaseService
Returns:
the reference node

tx

public TransactionBuilder tx()
Specified by:
tx in interface GraphDatabaseAPI

getGuard

public org.neo4j.kernel.guard.Guard getGuard()
Specified by:
getGuard in interface GraphDatabaseAPI

getKernelData

public KernelData getKernelData()
Specified by:
getKernelData in interface GraphDatabaseAPI

index

public IndexManager index()
Description copied from interface: GraphDatabaseService
Returns the IndexManager paired with this graph database service and is the entry point for managing indexes coupled with this database.

Specified by:
index in interface GraphDatabaseService
Returns:
the IndexManager for this database.

getConfig

public org.neo4j.kernel.configuration.Config getConfig()

getNodeManager

public org.neo4j.kernel.impl.core.NodeManager getNodeManager()
Specified by:
getNodeManager in interface GraphDatabaseAPI

getLockManager

public org.neo4j.kernel.impl.transaction.LockManager getLockManager()
Specified by:
getLockManager in interface GraphDatabaseAPI

getXaDataSourceManager

public org.neo4j.kernel.impl.transaction.XaDataSourceManager getXaDataSourceManager()
Specified by:
getXaDataSourceManager in interface GraphDatabaseAPI

getTxManager

public TransactionManager getTxManager()
Specified by:
getTxManager in interface GraphDatabaseAPI

getRelationshipTypeHolder

public org.neo4j.kernel.impl.core.RelationshipTypeHolder getRelationshipTypeHolder()
Specified by:
getRelationshipTypeHolder in interface GraphDatabaseAPI

getIdGeneratorFactory

public IdGeneratorFactory getIdGeneratorFactory()
Specified by:
getIdGeneratorFactory in interface GraphDatabaseAPI

getDiagnosticsManager

public org.neo4j.kernel.info.DiagnosticsManager getDiagnosticsManager()
Specified by:
getDiagnosticsManager in interface GraphDatabaseAPI

getPersistenceSource

public org.neo4j.kernel.impl.persistence.PersistenceSource getPersistenceSource()
Specified by:
getPersistenceSource in interface GraphDatabaseAPI

getMessageLog

public final org.neo4j.kernel.impl.util.StringLogger getMessageLog()
Specified by:
getMessageLog in interface GraphDatabaseAPI

getTxIdGenerator

public org.neo4j.kernel.impl.transaction.xaframework.TxIdGenerator getTxIdGenerator()
Specified by:
getTxIdGenerator in interface GraphDatabaseAPI

getKernelPanicGenerator

public org.neo4j.kernel.impl.core.KernelPanicEventGenerator getKernelPanicGenerator()
Specified by:
getKernelPanicGenerator in interface GraphDatabaseAPI

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

Neo4j Community

Copyright © 2002-2014 The Neo4j Graph Database Project. All Rights Reserved.