org.gcube.data.trees.patterns
Class OptPattern

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

public class OptPattern
extends EdgePattern

A Pattern that matches Nodes that have at most one edge with a given label and a target that matches a given Pattern.

Nodes that have more than one edge with the given label, or that have a single edge that does not match the given pattern, do not match this 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
OptPattern(QName l, Pattern p)
          Creates an instance for a given 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

OptPattern

public OptPattern(QName l,
                  Pattern p)
Creates an instance for a given 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.