edu.sc.seis.sod.validator
Class ModelWalker

java.lang.Object
  extended by edu.sc.seis.sod.validator.ModelWalker

public class ModelWalker
extends java.lang.Object


Constructor Summary
ModelWalker(Form root)
           
 
Method Summary
 java.util.Collection<Definition> getContainingDefs(Definition def)
           
static NamedElement getDescendantTowards(NamedElement parent, NamedElement result)
           
static int getDistance(Form base, Form result)
           
 Form getInstance(Form root, Definition def)
           
static Form[] getLineage(Form f)
           
static Form[] getLineage(Form child, Form parent)
           
static java.lang.String getNamespaceFromAncestors(Form f)
           
static NamedElement[] getSiblings(NamedElement brother)
           
static boolean isInLineage(Form parent, Form result)
           
static boolean isSelfReferential(Form f)
           
static boolean isSelfReferential(Form f, Form root)
           
static boolean isTowards(Form parent, Form result)
           
static boolean lineageContainsRefTo(Form f, Definition def)
           
static boolean lineageContainsRefTo(Form f, Definition def, Form root)
           
static boolean requiresSelfReferentiality(Form f)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModelWalker

public ModelWalker(Form root)
Method Detail

getContainingDefs

public java.util.Collection<Definition> getContainingDefs(Definition def)

getInstance

public Form getInstance(Form root,
                        Definition def)

isSelfReferential

public static boolean isSelfReferential(Form f)

isSelfReferential

public static boolean isSelfReferential(Form f,
                                        Form root)

requiresSelfReferentiality

public static boolean requiresSelfReferentiality(Form f)

lineageContainsRefTo

public static boolean lineageContainsRefTo(Form f,
                                           Definition def)

lineageContainsRefTo

public static boolean lineageContainsRefTo(Form f,
                                           Definition def,
                                           Form root)

getDescendantTowards

public static NamedElement getDescendantTowards(NamedElement parent,
                                                NamedElement result)

isTowards

public static boolean isTowards(Form parent,
                                Form result)

getDistance

public static int getDistance(Form base,
                              Form result)

getSiblings

public static NamedElement[] getSiblings(NamedElement brother)

getLineage

public static Form[] getLineage(Form f)

getLineage

public static Form[] getLineage(Form child,
                                Form parent)

isInLineage

public static boolean isInLineage(Form parent,
                                  Form result)

getNamespaceFromAncestors

public static java.lang.String getNamespaceFromAncestors(Form f)