/** * Form.java * * @author Charles Groves */ package edu.sc.seis.sod.validator.model; import edu.sc.seis.sod.validator.tour.Tourist; public interface Form extends FormProvider{ public String getXPath(); public Annotation getAnnotation(); /** * @return the Form containing this Form. Every Form has a parent except * for the root which returns null */ public Form getParent(); /** * @return true if this From is originally from a Definition. If true, * getDef() will return this Form's definition */ public boolean isFromDef(); /** * @return the definition this form was originally contained in. Null if * this form was not contained in a definition */ public Definition getDef(); /** * @return the namespace of this form */ public String getNamespace(); /** * @return true if the passed in Form is directly descended from this Form */ public boolean isAncestorOf(Form f); public boolean isAncestorOf(Form f, Form root); /** * @return this form set with parent as its parent, isFromDef returns true * and getDef returns def * */ public Form deref(Form parent, Definition def); public void accept(Tourist v); }