@Override public final int getDepth() { return parent == null ? 0 : parent.getDepth() + 1; }
public <T> T visitMacro( final ModelVisitor visitor, final MacroNode node ) { return NodeVisitor.<T,ModelVisitor>visitChildren( visitor, node ); } }
@Override @SuppressWarnings( "unchecked" ) public final <T extends Node<V>> T getNext() { final int index = getIndex(); if( index < 0 || index >= getParent().childCount() ) { return null; } else { return (T) getParent().getChildAt( index + 1 ); } }
@Override @SuppressWarnings( "unchecked" ) public final <T extends Node<V>> T getPrevious() { final int index = getIndex(); if( index < 1 ) { return null; } else { return (T) getParent().getChildAt( index - 1 ); } }
@Override public boolean parse( final RTFParser parser, final Node node, final int value ) throws IOException, TemplateException { // return until we are past the parent Underline return !(node.getLastChild() instanceof Formatting.Underline); } },
private boolean isFirst( final Node<ModelVisitor> node ) { return node.getIndex() == 0; }
@Override public <T> T visitGroup( final ModelVisitor visitor, final Block.Group node ) { return NodeVisitor.<T,ModelVisitor>visitChildren(visitor, node ); }
public <T> T visitSquare( final ModelVisitor visitor, final Block.Square node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
public <T> T visitFrac( final ModelVisitor visitor, final Functions.Frac node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
public <T> T visitProd( final ModelVisitor visitor, final Functions.Prod node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
@Override public <T> T visitMacro( final ModelVisitor visitor, final MacroNode node ) { return NodeVisitor.<T,ModelVisitor>visitChildren( visitor, node ); } }
public <T> T visitSubscript( final ModelVisitor visitor, final Block.Subscript node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
public <T> T visitSqrt( final ModelVisitor visitor, final Functions.Sqrt node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
public <T> T visitOver( final ModelVisitor visitor, final Functions.Over node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
public <T> T visitMacro( final ModelVisitor visitor, final MacroNode node ) { // Do nothing more than visit the children? return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); } }
public <T> T visitSuperscript( final ModelVisitor visitor, final Block.Superscript node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }
public <T> T visitTable( final TableBlock.Table node ) { return NodeVisitor.<T,ModelVisitor>visitChildren(this, node ); }
public <T> T visitTableRow( final TableBlock.Row node ) { return NodeVisitor.<T,ModelVisitor>visitChildren(this, node ); }
public <T> T visitTableCell( final TableBlock.Cell node ) { return NodeVisitor.<T,ModelVisitor>visitChildren(this, node ); }
public <T> T visitSum( final ModelVisitor visitor, final Functions.Sum node ) { return NodeVisitor.<T, ModelVisitor>visitChildren( visitor, node ); }