001    package org.maltparser.core.syntaxgraph.node;
002    
003    import java.util.SortedSet;
004    
005    import org.maltparser.core.exception.MaltChainedException;
006    import org.maltparser.core.syntaxgraph.headrules.HeadRules;
007    
008    public interface NonTerminalNode extends PhraseStructureNode {
009            public TokenNode identifyHead(HeadRules headRules) throws MaltChainedException;
010            public TokenNode getLexicalHead(HeadRules headRules) throws MaltChainedException;
011            public TokenNode getLexicalHead() throws MaltChainedException;
012            public PhraseStructureNode getHeadChild(HeadRules headRules) throws MaltChainedException;
013            public PhraseStructureNode getHeadChild() throws MaltChainedException;
014            public SortedSet<PhraseStructureNode> getChildren();
015            public PhraseStructureNode getChild(int index);
016            public PhraseStructureNode getLeftChild();
017            public PhraseStructureNode getRightChild();
018            public int nChildren();
019            public boolean hasNonTerminalChildren();
020            public boolean hasTerminalChildren();
021            public int getHeight();
022            public boolean isContinuous();
023            public boolean isContinuousExcludeTerminalsAttachToRoot();
024            //public void reArrangeChildrenAccordingToLeftAndRightProperDesendant() throws MaltChainedException;
025    }