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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NodeRef
  2. Node
  3. NodeOrDetachedNode
  4. Element
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new NodeRef(graph: Graph, id: Long)

    used when creating a node without the underlying instance at hand

  2. new NodeRef(graph: Graph, node: N)

Abstract Value Members

  1. abstract def label(): String
    Definition Classes
    Element

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def _initializeFromDetached(data: DetachedNodeData, mapper: Function[DetachedNodeData, Node]): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  5. def addEdgeImpl(label: String, inNode: Node, keyValues: Map[String, AnyRef]): Edge
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  6. def addEdgeImpl(label: String, inNode: Node, keyValues: <repeated...>[AnyRef]): Edge
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  7. def addEdgeSilentImpl(label: String, inNode: Node, keyValues: Map[String, AnyRef]): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  8. def addEdgeSilentImpl(label: String, inNode: Node, keyValues: <repeated...>[AnyRef]): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def both(edgeLabels: <repeated...>[String]): Iterator[Node]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  11. def both(): Iterator[Node]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  12. def bothE(edgeLabels: <repeated...>[String]): Iterator[Edge]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  13. def bothE(): Iterator[Edge]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  14. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(obj: AnyRef): Boolean
    Definition Classes
    NodeRef → AnyRef → Any
    Annotations
    @Override()
  17. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  18. final def get(): N
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. final def getOption(): Optional[N]
  21. def graph(): Graph
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  22. def hashCode(): Int
    Definition Classes
    NodeRef → AnyRef → Any
    Annotations
    @Override()
  23. def id(): Long
    Definition Classes
    NodeRefNode
  24. def in(edgeLabels: <repeated...>[String]): Iterator[Node]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  25. def in(): Iterator[Node]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  26. def inE(edgeLabels: <repeated...>[String]): Iterator[Edge]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  27. def inE(): Iterator[Edge]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  28. def isCleared(): Boolean
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. def isSet(): Boolean
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. def out(edgeLabels: <repeated...>[String]): Iterator[Node]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  35. def out(): Iterator[Node]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  36. def outE(edgeLabels: <repeated...>[String]): Iterator[Edge]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  37. def outE(): Iterator[Edge]
    Definition Classes
    NodeRefNode
    Annotations
    @Override()
  38. def persist(data: Array[Byte]): Unit
    Attributes
    protected[overflowdb]
  39. def propertiesMap(): Map[String, AnyRef]

    Map with all properties, including the default property values which haven't been explicitly set

    Map with all properties, including the default property values which haven't been explicitly set

    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  40. def property[A](key: PropertyKey[A]): A
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  41. def property(propertyKey: String): AnyRef
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  42. def property[A](key: PropertyKey[A], defaultValue: A): A
    Definition Classes
    Element
  43. def property[A](key: String, defaultValue: A): A
    Definition Classes
    Element
  44. 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
  45. def propertyKeys(): Set[String]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  46. def propertyOption(key: String): Optional[AnyRef]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  47. def propertyOption[A](key: PropertyKey[A]): Optional[A]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  48. def removeImpl(): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  49. def removePropertyImpl(key: String): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  50. def serializeWhenDirty(): Array[Byte]
    Attributes
    protected[overflowdb]
  51. def setNode(node: N): Unit
  52. def setPropertyImpl(key: String, value: AnyRef): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  53. def setPropertyImpl(property: Property[_ <: AnyRef]): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  54. def setPropertyImpl[A](key: PropertyKey[A], value: A): Unit
    Attributes
    protected[overflowdb]
    Definition Classes
    NodeRefElement
    Annotations
    @Override()
  55. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  56. def toString(): String
    Definition Classes
    NodeRef → AnyRef → Any
    Annotations
    @Override()
  57. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  58. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  59. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. 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
  2. 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
  3. 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
  4. 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 like

    addEdge2}}, but doesn't instantiate and return a dummy edge
    Definition Classes
    Node
    Annotations
    @Deprecated
    Deprecated
  5. final def remove(): Unit
    Definition Classes
    Element
    Annotations
    @Deprecated
    Deprecated
  6. final def removeProperty(key: String): Unit
    Definition Classes
    Element
    Annotations
    @Deprecated
    Deprecated
  7. final def setProperty(property: Property[_ <: AnyRef]): Unit
    Definition Classes
    Element
    Annotations
    @Deprecated
    Deprecated
  8. final def setProperty[A](key: PropertyKey[A], value: A): Unit
    Definition Classes
    Element
    Annotations
    @Deprecated
    Deprecated
  9. final def setProperty(key: String, value: AnyRef): Unit
    Definition Classes
    Element
    Annotations
    @Deprecated
    Deprecated

Inherited from Node

Inherited from NodeOrDetachedNode

Inherited from Element

Inherited from AnyRef

Inherited from Any

Ungrouped