abstract class NodeRef[N <: NodeDb] extends Node
Lightweight (w.r.t. memory usage) reference to for an NodeDb, which is stored in the node
member.
When running low on memory (as detected by {HeapUsageMonitor
}), the {ReferenceManager
} may set
that member to null
, so that the garbage collector can free up some heap, thus avoiding @OutOfMemoryError
.
Note that this model only works if nothing else holds references to the NodeDb
- which is therefor strongly
discouraged. Instead, the entire application should only ever hold onto NodeRef
instances.
When the node
member is currently null, but is then required (e.g. to lookup a property or an edge), the node will
be fetched from the underlying overflowdb.storage.OdbStorage
.
When OdbGraph is started from an existing storage location, only NodeRef
instances are created - the nodes
are lazily on demand as described above.
- Alphabetic
- By Inheritance
- NodeRef
- Node
- NodeOrDetachedNode
- Element
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def _initializeFromDetached(data: DetachedNodeData, mapper: Function[DetachedNodeData, Node]): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Node
- Annotations
- @Override()
- def addEdgeImpl(label: String, inNode: Node, keyValues: Map[String, AnyRef]): Edge
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Node
- Annotations
- @Override()
- def addEdgeImpl(label: String, inNode: Node, keyValues: <repeated...>[AnyRef]): Edge
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Node
- Annotations
- @Override()
- def addEdgeSilentImpl(label: String, inNode: Node, keyValues: Map[String, AnyRef]): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Node
- Annotations
- @Override()
- def addEdgeSilentImpl(label: String, inNode: Node, keyValues: <repeated...>[AnyRef]): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Node
- Annotations
- @Override()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def both(edgeLabels: <repeated...>[String]): Iterator[Node]
- def both(): Iterator[Node]
- def bothE(edgeLabels: <repeated...>[String]): Iterator[Edge]
- def bothE(): Iterator[Edge]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(obj: AnyRef): Boolean
- Definition Classes
- NodeRef → AnyRef → Any
- Annotations
- @Override()
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def get(): N
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def getOption(): Optional[N]
- def graph(): Graph
- def hashCode(): Int
- Definition Classes
- NodeRef → AnyRef → Any
- Annotations
- @Override()
- def id(): Long
- def in(edgeLabels: <repeated...>[String]): Iterator[Node]
- def in(): Iterator[Node]
- def inE(edgeLabels: <repeated...>[String]): Iterator[Edge]
- def inE(): Iterator[Edge]
- def isCleared(): Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSet(): Boolean
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def out(edgeLabels: <repeated...>[String]): Iterator[Node]
- def out(): Iterator[Node]
- def outE(edgeLabels: <repeated...>[String]): Iterator[Edge]
- def outE(): Iterator[Edge]
- def persist(data: Array[Byte]): Unit
- Attributes
- protected[overflowdb]
- def propertiesMap(): Map[String, AnyRef]
Map with all properties, including the default property values which haven't been explicitly set
- def property[A](key: PropertyKey[A]): A
- def property(propertyKey: String): AnyRef
- def property[A](key: PropertyKey[A], defaultValue: A): A
- Definition Classes
- Element
- def property[A](key: String, defaultValue: A): A
- Definition Classes
- Element
- def propertyDefaultValue(propertyKey: String): AnyRef
override this in specific element class, to define a default value
override this in specific element class, to define a default value
- Definition Classes
- Element
- def propertyKeys(): Set[String]
- def propertyOption(key: String): Optional[AnyRef]
- def propertyOption[A](key: PropertyKey[A]): Optional[A]
- def removeImpl(): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Element
- Annotations
- @Override()
- def removePropertyImpl(key: String): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Element
- Annotations
- @Override()
- def serializeWhenDirty(): Array[Byte]
- Attributes
- protected[overflowdb]
- def setNode(node: N): Unit
- def setPropertyImpl(key: String, value: AnyRef): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Element
- Annotations
- @Override()
- def setPropertyImpl(property: Property[_ <: AnyRef]): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Element
- Annotations
- @Override()
- def setPropertyImpl[A](key: PropertyKey[A], value: A): Unit
- Attributes
- protected[overflowdb]
- Definition Classes
- NodeRef → Element
- Annotations
- @Override()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- NodeRef → AnyRef → Any
- Annotations
- @Override()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- final def addEdge(label: String, inNode: Node, keyValues: Map[String, AnyRef]): Edge
Add an outgoing edge to the node with provided label and edge properties as key/value pairs.
Add an outgoing edge to the node with provided label and edge properties as key/value pairs.
- Definition Classes
- Node
- Annotations
- @Deprecated
- Deprecated
- final def addEdge(label: String, inNode: Node, keyValues: <repeated...>[AnyRef]): Edge
Add an outgoing edge to the node with provided label and edge properties as key/value pairs.
Add an outgoing edge to the node with provided label and edge properties as key/value pairs. These key/values must be provided in an even number where the odd numbered arguments are
String
property keys and the even numbered arguments are the related property values.- Definition Classes
- Node
- Annotations
- @Deprecated
- Deprecated
- final def addEdgeSilent(label: String, inNode: Node, keyValues: Map[String, AnyRef]): Unit
Add an outgoing edge to the node with provided label and edge properties as key/value pairs.
Add an outgoing edge to the node with provided label and edge properties as key/value pairs. Just like
addEdge2}}, but doesn't instantiate and return a dummy edge
- Definition Classes
- Node
- Annotations
- @Deprecated
- Deprecated
- final def addEdgeSilent(label: String, inNode: Node, keyValues: <repeated...>[AnyRef]): Unit
Add an outgoing edge to the node with provided label and edge properties as key/value pairs.
Add an outgoing edge to the node with provided label and edge properties as key/value pairs. These key/values must be provided in an even number where the odd numbered arguments are
String
property keys and the even numbered arguments are the related property values. Just likeaddEdge2}}, but doesn't instantiate and return a dummy edge
- Definition Classes
- Node
- Annotations
- @Deprecated
- Deprecated
- final def remove(): Unit
- Definition Classes
- Element
- Annotations
- @Deprecated
- Deprecated
- final def removeProperty(key: String): Unit
- Definition Classes
- Element
- Annotations
- @Deprecated
- Deprecated
- final def setProperty(property: Property[_ <: AnyRef]): Unit
- Definition Classes
- Element
- Annotations
- @Deprecated
- Deprecated
- final def setProperty[A](key: PropertyKey[A], value: A): Unit
- Definition Classes
- Element
- Annotations
- @Deprecated
- Deprecated
- final def setProperty(key: String, value: AnyRef): Unit
- Definition Classes
- Element
- Annotations
- @Deprecated
- Deprecated