Class DefaultExport

java.lang.Object
com.sparsity.sparksee.gdb.ExportManager
com.sparsity.sparksee.gdb.DefaultExport

public class DefaultExport extends ExportManager
Default implementation for ExportManager class.

It uses the default values from GraphExport, NodeExport and EdgeExport to export all node and edge types.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    enableType(int type)
    Default implementation of the ExportManager class method EnableType.
    boolean
    Get if all the graph object should be exported or only a subgraph It should return true (default option), to export all the nodes and edges in the Graph as with previous verions.
    boolean
    getEdge(long edge, EdgeExport edgeExport)
    Default implementation of the ExportManager class method GetEdge.
    boolean
    getEdgeType(int type, EdgeExport edgeExport)
    Default implementation of the ExportManager class method GetEdgeType.
    boolean
    getGraph(GraphExport graphExport)
    Default implementation of the ExportManager class method GetGraph.
    boolean
    getNode(long node, NodeExport nodeExport)
    Default implementation of the ExportManager class method GetNode.
    boolean
    getNodeType(int type, NodeExport nodeExport)
    Default implementation of the ExportManager class method GetNodeType.
    long
    Gets the next edge to export or InvalidOID.
    long
    Gets the next node to export or InvalidOID.
    void
    prepare(Graph graph)
    Default implementation of the ExportManager class method Prepare.
    void
    Default implementation of the ExportManager class method Release.
    boolean
    Sets the maximum number of elements of an Array Attribute to show.
    boolean
    Sets the maximum number of Text Attribute characters to show.
    void
    setNodeTypeImage(int nodeType, String image)
    Set an image for all the nodes of a specific node type.
    void
    setNodeTypeImageAttribute(int nodeType, int imageAttr)
    Set the attribute that stores the image for a specific node type.
    void
    setNodeTypeShape(int nodeType, NodeShape shape)
    Set the shape for all nodes of this type.
    void
    setTitleWithAttributes(boolean encoded)
    Include additional information including all the node/edge attributes as Title instead of the default title text (just the type name).
    void
    setTypeColorRGB(int type, int color)
    Set the color for a specific node/edge type.
    void
    setTypeLabelAttribute(int type, int labelAttr)
    Set the attribute that stores the label for a specific node/edge type.
    boolean
    Limit the exported edges to the edges in the given edges set.
    boolean
    Limit the exported nodes to the nodes in the given node set.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DefaultExport

      public DefaultExport()
      Creates a new instance.

  • Method Details

    • nextEdge

      public long nextEdge()
      Gets the next edge to export or InvalidOID.

      It will return valid edge OIDs to export and InvalidOID when there is not any more edges to export. ExportAll returns false.

      Overrides:
      nextEdge in class ExportManager
      Returns:
      oid_t Return an edge OID or InvalidOID
    • getGraph

      public boolean getGraph(GraphExport graphExport)
      Default implementation of the ExportManager class method GetGraph.

      This sets the default GraphExport values including the default background color and the database alias as the label. The default GraphExport label could be empty (because the database did not have an alias) but this method will add " graph" or " subgraph" to the label anyway to easily know if the hole graph was exported or just some nodes/edges.

      Overrides:
      getGraph in class ExportManager
      Parameters:
      graphExport - [out] The GraphExport that will store the information.
      Returns:
      TRUE.
    • release

      public void release()
      Default implementation of the ExportManager class method Release.

      Overrides:
      release in class ExportManager
    • exportAll

      public boolean exportAll()
      Get if all the graph object should be exported or only a subgraph It should return true (default option), to export all the nodes and edges in the Graph as with previous verions.

      Or false to use the new Next() method of this class to get the only nodes/edges that should be exported. It will return true to export all the graph unless a subgraph had been selected by calling the SubgraphNodes or SubgraphEdges methods.

      Overrides:
      exportAll in class ExportManager
      Returns:
      bool_t Returns true to export all the graph or false otherwise.
    • subgraphNodes

      public boolean subgraphNodes(Objects nodes)
      Limit the exported nodes to the nodes in the given node set.

      If only the subgraph nodes are specified, the exported edges will be calculated as all the edges between the selected nodes.

      Parameters:
      nodes - [in] Subgraph nodes to export. Must be kept alive by the user until the export is finished. The given Objects set can also contain edges, but will be ignored. This is useful to use a signle Objects set to limit both subgraph nodes and edges. But if an Objects containing both nodes and edges is used, then both SubgraphNodes and SubgraphEdges methods must be called.
      Returns:
      Returns true if successful or false otherwise.
    • setTitleWithAttributes

      public void setTitleWithAttributes(boolean encoded)
      Include additional information including all the node/edge attributes as Title instead of the default title text (just the type name).

      Parameters:
      encoded - [in] If true the tooltip data will be added as a base64 encoded JSON instead of very basic html text format for easy parsing of the additional data.
    • setMaxTextCharacters

      public boolean setMaxTextCharacters(int size)
      Sets the maximum number of Text Attribute characters to show.

      If a Text Attribute has more than the given size characters it will be truncated and "..." will be added.

      Parameters:
      size - null
      Returns:
      Returns True if successful or False if the give value is not valid.
    • getNode

      public boolean getNode(long node, NodeExport nodeExport)
      Default implementation of the ExportManager class method GetNode.

      This sets the default NodeExport values and sets the OID as the label.

      Overrides:
      getNode in class ExportManager
      Parameters:
      node - [in] A node.
      nodeExport - [out] The NodeExport that will store the information.
      Returns:
      TRUE.
    • getEdge

      public boolean getEdge(long edge, EdgeExport edgeExport)
      Default implementation of the ExportManager class method GetEdge.

      This sets the default EdgeExport values and sets the OID as the label. Also, it exports the edge as directed just if the edge is directed.

      Overrides:
      getEdge in class ExportManager
      Parameters:
      edge - [in] An edge.
      edgeExport - [out] The EdgeExport that will store the information.
      Returns:
      TRUE.
    • getEdgeType

      public boolean getEdgeType(int type, EdgeExport edgeExport)
      Default implementation of the ExportManager class method GetEdgeType.

      This sets de default EdgeExport values.

      Overrides:
      getEdgeType in class ExportManager
      Parameters:
      type - [in] An edge type.
      edgeExport - [out] The EdgeExport that will store the information.
      Returns:
      TRUE.
    • setMaxArrayElements

      public boolean setMaxArrayElements(int size)
      Sets the maximum number of elements of an Array Attribute to show.

      If an Array Attribute has more than the given size elements, only the first ones will be used and "..." will be added.

      Parameters:
      size - null
      Returns:
      Returns True if successful or False if the give value is not valid.
    • setTypeLabelAttribute

      public void setTypeLabelAttribute(int type, int labelAttr)
      Set the attribute that stores the label for a specific node/edge type.

      Parameters:
      type - [in] A valid node/edge type.
      labelAttr - [in] The attribute to use for nodes/edges of this type to get the label. If a valid label can be obttained from the attribute it will be used instead of the default OID.
    • subgraphEdges

      public boolean subgraphEdges(Objects edges)
      Limit the exported edges to the edges in the given edges set.

      If only the subgraph edges are specified, the exported nodes will be calculated as all the nodes present in the selected edges.

      Parameters:
      edges - [in] Subgraph edges to export. Must be kept alive by the user until the export is finished. The given Objects set can also contain nodes, but will be ignored. This is useful to use a signle Objects set to limit both subgraph nodes and edges. But if an Objects containing both nodes and edges is used, then both SubgraphNodes and SubgraphEdges methods must be called.
      Returns:
      Returns true if successful or false otherwise.
    • prepare

      public void prepare(Graph graph)
      Default implementation of the ExportManager class method Prepare.

      Overrides:
      prepare in class ExportManager
      Parameters:
      graph - null
    • nextNode

      public long nextNode()
      Gets the next node to export or InvalidOID.

      It will return valid node OIDs to export and InvalidOID when there is not any more nodes to export. ExportAll returns false.

      Overrides:
      nextNode in class ExportManager
      Returns:
      oid_t Return a node OID or InvalidOID
    • setNodeTypeImageAttribute

      public void setNodeTypeImageAttribute(int nodeType, int imageAttr)
      Set the attribute that stores the image for a specific node type.

      Parameters:
      nodeType - [in] A valid node type.
      imageAttr - [in] The attribute to use for nodes of this type to get the image url/path.
    • getNodeType

      public boolean getNodeType(int type, NodeExport nodeExport)
      Default implementation of the ExportManager class method GetNodeType.

      This sets de default NodeExport values.

      Overrides:
      getNodeType in class ExportManager
      Parameters:
      type - [in] A node type.
      nodeExport - [out] The NodeExport that will store the information.
      Returns:
      TRUE.
    • enableType

      public boolean enableType(int type)
      Default implementation of the ExportManager class method EnableType.

      This enables all node and edge types to be exported.

      Overrides:
      enableType in class ExportManager
      Parameters:
      type - [in] The type to enable.
      Returns:
      TRUE.
    • setTypeColorRGB

      public void setTypeColorRGB(int type, int color)
      Set the color for a specific node/edge type.

      Parameters:
      type - [in] A valid node/edge type.
      color - [in] The main color for the type. The label color will be set as a complementary color from the given color to guarantee that it will contrast.
    • setNodeTypeImage

      public void setNodeTypeImage(int nodeType, String image)
      Set an image for all the nodes of a specific node type.

      Parameters:
      nodeType - [in] A valid node type.
      image - [in] A path or URL of the image to use for all nodes of this type.
    • setNodeTypeShape

      public void setNodeTypeShape(int nodeType, NodeShape shape)
      Set the shape for all nodes of this type.

      Parameters:
      nodeType - [in] A valid node type.
      shape - [in] The shape for all the nodes of the given type.