org.gcube.data.trees.patterns
Class ManyPattern

java.lang.Object
  extended by org.gcube.data.trees.patterns.EdgePattern
      extended by org.gcube.data.trees.patterns.ManyPattern
All Implemented Interfaces:
Serializable

public class ManyPattern
extends EdgePattern

A Pattern that matches Nodes with zero or more edges that have a given label and target nodes that match a given Pattern.

Author:
Fabio Simeoni
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.gcube.data.trees.patterns.EdgePattern
EdgePattern.Range
 
Constructor Summary
ManyPattern(QName l, Pattern p)
          Creates an instance for a givel label and pattern.
 
Method Summary
 boolean matches(List<Edge> edges)
          Indicates whether the pattern matches some of the edges in a given list.
 String name()
          Returns the name of the pattern.
 List<Edge> prune(List<Edge> edges)
          Returns the edges from a given list which match the pattern.
 EdgePattern.Range range()
          Returns the EdgePattern.Range of the pattern.
 
Methods inherited from class org.gcube.data.trees.patterns.EdgePattern
equals, hashCode, isCondition, label, matchLabels, pattern, setAsCondition, setPattern, toString, unsetAsCondition
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ManyPattern

public ManyPattern(QName l,
                   Pattern p)
Creates an instance for a givel label and pattern.

Parameters:
l - the label
p - the pattern
Method Detail

matches

public boolean matches(List<Edge> edges)
Indicates whether the pattern matches some of the edges in a given list.

Parameters:
edges - the list.
Returns:
true if it does, false otherwise.

prune

public List<Edge> prune(List<Edge> edges)
                 throws Exception
Returns the edges from a given list which match the pattern.

Parameters:
edges - the list.
Returns:
the matching edges.
Throws:
Exception - if an attempt to match an edge fails with an error.

range

public EdgePattern.Range range()
Returns the EdgePattern.Range of the pattern.

Specified by:
range in class EdgePattern
Returns:
the range.

name

public String name()
Returns the name of the pattern.

Specified by:
name in class EdgePattern
Returns:
the name


Copyright © 2013. All Rights Reserved.