Packages

t

com.github.plume.oss.drivers

ISchemaSafeDriver

trait ISchemaSafeDriver extends IDriver

An interface that describes a driver with an underlying database that requires a defined schema.

Linear Supertypes
IDriver, AutoCloseable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ISchemaSafeDriver
  2. IDriver
  3. AutoCloseable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def buildSchema(): Unit

    Create the schema on the underlying database.

  2. abstract def buildSchemaPayload(): String

    Build the schema to be injected.

  3. abstract def bulkTx(dg: AppliedDiff): Unit

    Executes all changes contained within the given overflowdb.BatchedUpdate.AppliedDiff as a (or set of) bulk transaction(s).

    Executes all changes contained within the given overflowdb.BatchedUpdate.AppliedDiff as a (or set of) bulk transaction(s).

    Definition Classes
    IDriver
  4. abstract def bulkTx(dg: AppliedDiffGraph): Unit

    Executes all changes contained within the given io.shiftleft.passes.AppliedDiffGraph as a (or set of) bulk transaction(s).

    Executes all changes contained within the given io.shiftleft.passes.AppliedDiffGraph as a (or set of) bulk transaction(s).

    Definition Classes
    IDriver
  5. abstract def clear(): Unit

    Removes all entries from the database.

    Removes all entries from the database.

    Definition Classes
    IDriver
  6. abstract def close(): Unit
    Definition Classes
    AutoCloseable
    Annotations
    @throws(classOf[java.lang.Exception])
  7. abstract def dynamicCallLinker(): Unit

    Links all dynamic dispatch calls to their methods.

    Links all dynamic dispatch calls to their methods.

    Attributes
    protected
    Definition Classes
    IDriver
  8. abstract def exists(srcId: Long, dstId: Long, edge: String): Boolean

    Determines if there exists an edge between two nodes.

    Determines if there exists an edge between two nodes. Edges are assumed to be directional.

    Definition Classes
    IDriver
  9. abstract def exists(nodeId: Long): Boolean

    Determines if the node exists in the database.

    Determines if the node exists in the database.

    Definition Classes
    IDriver
  10. abstract def idInterval(lower: Long, upper: Long): Set[Long]

    Returns all the taken IDs between the two boundaries (inclusive).

    Returns all the taken IDs between the two boundaries (inclusive).

    Definition Classes
    IDriver
  11. abstract def isConnected: Boolean

    Will return true if the database is connected, false if otherwise.

    Will return true if the database is connected, false if otherwise.

    Definition Classes
    IDriver
  12. abstract def linkAstNodes(srcLabels: List[String], edgeType: String, dstNodeMap: Map[String, Any], dstFullNameKey: String, dstNodeType: String): Unit

    Links nodes by their source label and destination full name key to their destination nodes by the specified edge type using the destination node map as the lookup table.

    Links nodes by their source label and destination full name key to their destination nodes by the specified edge type using the destination node map as the lookup table. Source labels are assumed to be non-empty.

    Definition Classes
    IDriver
  13. abstract def propertyFromNodes(nodeType: String, keys: String*): List[Map[String, Any]]

    Obtains properties from the specified node type and key(s).

    Obtains properties from the specified node type and key(s). By default will return the ID property as one of the keys as "id".

    Definition Classes
    IDriver
  14. abstract def removeSourceFiles(filenames: String*): Unit

    Given filenames, will remove related TYPE, TYPE_DECL, METHOD (with AST children), and NAMESPACE_BLOCK.

    Given filenames, will remove related TYPE, TYPE_DECL, METHOD (with AST children), and NAMESPACE_BLOCK.

    Definition Classes
    IDriver
  15. abstract def staticCallLinker(): Unit

    Links all static dispatch calls to their methods.

    Links all static dispatch calls to their methods.

    Attributes
    protected
    Definition Classes
    IDriver

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 NODES_IN_SCHEMA: Seq[String]
    Attributes
    protected
    Definition Classes
    IDriver
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def astLinker(): Unit

    Create REF edges from TYPE nodes to TYPE_DECL, EVAL_TYPE edges from nodes of various types to TYPE, REF edges from METHOD_REFs to METHOD, INHERITS_FROM nodes from TYPE_DECL nodes to TYPE, and ALIAS_OF edges from TYPE_DECL nodes to TYPE.

    Create REF edges from TYPE nodes to TYPE_DECL, EVAL_TYPE edges from nodes of various types to TYPE, REF edges from METHOD_REFs to METHOD, INHERITS_FROM nodes from TYPE_DECL nodes to TYPE, and ALIAS_OF edges from TYPE_DECL nodes to TYPE.

    Requires initMaps

    Attributes
    protected
    Definition Classes
    IDriver
  7. def buildInterproceduralEdges(): Unit

    Runs linkers for AST node relations and calls.

    Runs linkers for AST node relations and calls.

    Definition Classes
    IDriver
  8. def clearMaps(): Unit
    Attributes
    protected
    Definition Classes
    IDriver
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  10. def deserializeLists(properties: Map[String, Any]): Map[String, Any]

    Where former list properties were serialized as strings, they will be deserialized as Seq.

    Where former list properties were serialized as strings, they will be deserialized as Seq.

    properties

    the serialized property map.

    returns

    a property map where comma-separated strings are made Seq objects.

    Attributes
    protected
    Definition Classes
    IDriver
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. def id(node: AbstractNode, dg: AppliedDiffGraph): Any

    Provides the assigned ID for the given node using the given diff graph.

    Provides the assigned ID for the given node using the given diff graph.

    Attributes
    protected
    Definition Classes
    IDriver
  16. def initMaps(): Unit
    Attributes
    protected
    Definition Classes
    IDriver
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val methodFullNameToNode: Map[String, Any]
    Attributes
    protected
    Definition Classes
    IDriver
  19. val namespaceNameToNode: Map[String, Any]
    Attributes
    protected
    Definition Classes
    IDriver
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  23. def serializeLists(properties: Map[String, Any]): Map[String, Any]

    To handle the case where databases don't support lists, we simply serialize these as a comma-separated string.

    To handle the case where databases don't support lists, we simply serialize these as a comma-separated string.

    properties

    the property map.

    returns

    a property map where lists are serialized as strings.

    Attributes
    protected
    Definition Classes
    IDriver
  24. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. val typeDeclFullNameToNode: Map[String, Any]
    Attributes
    protected
    Definition Classes
    IDriver
  27. val typeFullNameToNode: Map[String, Any]
    Attributes
    protected
    Definition Classes
    IDriver
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from IDriver

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped