Class AttributePipe

All Implemented Interfaces:
AttributeSink, ElementSink, Pipe, Sink, Source

public class AttributePipe
extends PipeBase
Allows to filter the attribute event stream.

The filtering is based on attribute predicates. An attribute predicate is an object that you provide and that only defines one method AttributePredicate.matches(String, Object). If the "matches()" method return false, the attribute is discarded from the event stream, else it is passed to the listeners of this filter.

You can setup a predicate from all attributes (graph, node and edge attributes) and specific predicates for graph, node and edge attributes.

  • Constructor Details

  • Method Details

    • setGlobalAttributeFilter

      public void setGlobalAttributeFilter​(AttributePredicate filter)
      Set an attribute filter for graph, node and edge attributes. If the filter is null, attributes will not be filtered globally.
      Parameters:
      filter - The filter to use, it can be null to disable global attribute filtering.
    • setGraphAttributeFilter

      public void setGraphAttributeFilter​(AttributePredicate filter)
      Set an attribute filter for graph attributes only (node an edge attributes are not filtered by this filter). If the filter is null, graph attributes will not be filtered.
      Parameters:
      filter - The filter to use, it can be null to disable graph attribute filtering.
    • setNodeAttributeFilter

      public void setNodeAttributeFilter​(AttributePredicate filter)
      Set an attribute filter for node attributes only (graph an edge attributes are not filtered by this filter). If the filter is null, node attributes will not be filtered.
      Parameters:
      filter - The filter to use, it can be null to disable node attribute filtering.
    • setEdgeAttributeFilter

      public void setEdgeAttributeFilter​(AttributePredicate filter)
      Set an attribute filter for edge attributes only (graph an node attributes are not filtered by this filter). If the filter is null, edge attributes will not be filtered.
      Parameters:
      filter - The filter to use, it can be null to disable edge attribute filtering.
    • getGlobalAttributeFilter

      public AttributePredicate getGlobalAttributeFilter()
      The filter for all graph, node and edge attributes. This filter can be null.
      Returns:
      The global attribute filter or null if there is no global filter.
    • getGraphAttributeFilter

      public AttributePredicate getGraphAttributeFilter()
      The filter for all graph attributes. This filter can be null.
      Returns:
      The graph attribute filter or null if there is no graph filter.
    • getNodeAttributeFilter

      public AttributePredicate getNodeAttributeFilter()
      The filter for all node attributes. This filter can be null.
      Returns:
      The node global attribute filter or null if there is no node filter.
    • getEdgeAttributeFilter

      public AttributePredicate getEdgeAttributeFilter()
      The filter for all edge attributes. This filter can be null.
      Returns:
      The edge attribute filter or null of there is no edge filter.
    • edgeAttributeAdded

      public void edgeAttributeAdded​(String graphId, long timeId, String edgeId, String attribute, Object value)
      Description copied from interface: AttributeSink
      A edge attribute was added.
      Specified by:
      edgeAttributeAdded in interface AttributeSink
      Overrides:
      edgeAttributeAdded in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the change occurred.
      edgeId - Identifier of the edge whose attribute changed.
      attribute - The attribute name.
      value - The attribute new value.
    • edgeAttributeChanged

      public void edgeAttributeChanged​(String graphId, long timeId, String edgeId, String attribute, Object oldValue, Object newValue)
      Description copied from interface: AttributeSink
      A edge attribute was changed.
      Specified by:
      edgeAttributeChanged in interface AttributeSink
      Overrides:
      edgeAttributeChanged in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the change occurred.
      edgeId - Identifier of the edge whose attribute changed.
      attribute - The attribute name.
      oldValue - The attribute old value.
      newValue - The attribute new value.
    • edgeAttributeRemoved

      public void edgeAttributeRemoved​(String graphId, long timeId, String edgeId, String attribute)
      Description copied from interface: AttributeSink
      A edge attribute was removed.
      Specified by:
      edgeAttributeRemoved in interface AttributeSink
      Overrides:
      edgeAttributeRemoved in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the attribute was removed.
      edgeId - Identifier of the edge whose attribute was removed.
      attribute - The removed attribute name.
    • graphAttributeAdded

      public void graphAttributeAdded​(String graphId, long timeId, String attribute, Object value)
      Description copied from interface: AttributeSink
      A graph attribute was added.
      Specified by:
      graphAttributeAdded in interface AttributeSink
      Overrides:
      graphAttributeAdded in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the attribute changed.
      attribute - The attribute name.
      value - The attribute new value.
    • graphAttributeChanged

      public void graphAttributeChanged​(String graphId, long timeId, String attribute, Object oldValue, Object newValue)
      Description copied from interface: AttributeSink
      A graph attribute was changed.
      Specified by:
      graphAttributeChanged in interface AttributeSink
      Overrides:
      graphAttributeChanged in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the attribute changed.
      attribute - The attribute name.
      oldValue - The attribute old value.
      newValue - The attribute new value.
    • graphAttributeRemoved

      public void graphAttributeRemoved​(String graphId, long timeId, String attribute)
      Description copied from interface: AttributeSink
      A graph attribute was removed.
      Specified by:
      graphAttributeRemoved in interface AttributeSink
      Overrides:
      graphAttributeRemoved in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the attribute was removed.
      attribute - The removed attribute name.
    • nodeAttributeAdded

      public void nodeAttributeAdded​(String graphId, long timeId, String nodeId, String attribute, Object value)
      Description copied from interface: AttributeSink
      A node attribute was added.
      Specified by:
      nodeAttributeAdded in interface AttributeSink
      Overrides:
      nodeAttributeAdded in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the change occurred.
      nodeId - Identifier of the node whose attribute changed.
      attribute - The attribute name.
      value - The attribute new value.
    • nodeAttributeChanged

      public void nodeAttributeChanged​(String graphId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue)
      Description copied from interface: AttributeSink
      A node attribute was changed.
      Specified by:
      nodeAttributeChanged in interface AttributeSink
      Overrides:
      nodeAttributeChanged in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the change occurred.
      nodeId - Identifier of the node whose attribute changed.
      attribute - The attribute name.
      oldValue - The attribute old value.
      newValue - The attribute new value.
    • nodeAttributeRemoved

      public void nodeAttributeRemoved​(String graphId, long timeId, String nodeId, String attribute)
      Description copied from interface: AttributeSink
      A node attribute was removed.
      Specified by:
      nodeAttributeRemoved in interface AttributeSink
      Overrides:
      nodeAttributeRemoved in class PipeBase
      Parameters:
      graphId - Identifier of the graph where the attribute was removed.
      nodeId - Identifier of the node whose attribute was removed.
      attribute - The removed attribute name.