Class AbstractBlock

    • Constructor Detail

      • AbstractBlock

        public AbstractBlock()
        Empty constructor to construct an empty block.
      • AbstractBlock

        public AbstractBlock​(Map<String,​String> parameters)
        Construct a block with parameters.
        Parameters:
        parameters - the parameters to set
      • AbstractBlock

        public AbstractBlock​(Block childBlock)
        Constructs a block with a child block.
        Parameters:
        childBlock - the child block of this block
        Since:
        3.0M1
      • AbstractBlock

        public AbstractBlock​(List<? extends Block> childrenBlocks)
        Constructs a block with children blocks.
        Parameters:
        childrenBlocks - the list of children blocks of the block to construct
        Since:
        3.0M1
      • AbstractBlock

        public AbstractBlock​(Block childBlock,
                             Map<String,​String> parameters)
        Construct a block with a child block and parameters.
        Parameters:
        childBlock - the child block of this block
        parameters - the parameters to set
        Since:
        3.0M1
      • AbstractBlock

        public AbstractBlock​(List<? extends Block> childrenBlocks,
                             Map<String,​String> parameters)
        Construct a block with children blocks and parameters.
        Parameters:
        childrenBlocks - the list of children blocks of the block to construct
        parameters - the parameters to set
        Since:
        3.0M1
    • Method Detail

      • addChild

        public void addChild​(Block blockToAdd)
        Description copied from interface: Block
        Helper method to add a single child block to the end of the children list of the current block. For adding several blocks at once use Block.addChildren(java.util.List).
        Specified by:
        addChild in interface Block
        Parameters:
        blockToAdd - the child block to add
      • addChildren

        public void addChildren​(List<? extends Block> blocksToAdd)
        Description copied from interface: Block
        Adds several children blocks to the end of the children list of the current block. For example a bold sentence is made up of a Bold block to which the different words making up the text have been added to.
        Specified by:
        addChildren in interface Block
        Parameters:
        blocksToAdd - the children blocks to add
      • setChildren

        public void setChildren​(List<? extends Block> children)
        Description copied from interface: Block
        Replace current children by the provided list of Blocks.
        Specified by:
        setChildren in interface Block
        Parameters:
        children - the new children
      • insertChildBefore

        public void insertChildBefore​(Block blockToInsert,
                                      Block nextBlock)
        Description copied from interface: Block
        Helper method to add a single child block to the current block before the provided existing child block. For adding several blocks at once use Block.addChildren(java.util.List).
        Specified by:
        insertChildBefore in interface Block
        Parameters:
        blockToInsert - the child block to add
        nextBlock - the child block that will be just after the added block
      • insertChildAfter

        public void insertChildAfter​(Block blockToInsert,
                                     Block previousBlock)
        Description copied from interface: Block
        Helper method to add a single child block to the current block after the provided existing child block. For adding several blocks at once use Block.addChildren(java.util.List).
        Specified by:
        insertChildAfter in interface Block
        Parameters:
        blockToInsert - the child block to add
        previousBlock - the child block that will be just before the added block
      • replaceChild

        public void replaceChild​(Block newBlock,
                                 Block oldBlock)
        Description copied from interface: Block
        Replaces an existing children block with the passed new block. Also sets the new block's parent to be the current block.
        Specified by:
        replaceChild in interface Block
        Parameters:
        newBlock - the new block to replace the old block with
        oldBlock - the block to replace with the new block
      • replaceChild

        public void replaceChild​(List<Block> newBlocks,
                                 Block oldBlock)
        Description copied from interface: Block
        Replaces an existing children block with the passed new blocks. Also sets the new block's parents to be the current block.
        Specified by:
        replaceChild in interface Block
        Parameters:
        newBlocks - the new blocks to replace the old block with
        oldBlock - the block to replace with the new blocks
      • indexOf

        public long indexOf​(Block child)
        Find the index of the block in the tree.
        Parameters:
        child - the block for which to find the index
        Returns:
        the index of the passed block in the tree, 0 is the current block and -1 means that it was not found
        Since:
        10.10RC1
      • getParent

        public Block getParent()
        Description copied from interface: Block
        Get the parent block. All blocks have a parent and the top level parent is the XDOM object.
        Specified by:
        getParent in interface Block
        Returns:
        the parent block
      • getParameter

        public String getParameter​(String name)
        Description copied from interface: Block
        A Parameter is a generic key/value which can be used to add metadata to a block. What is done with the metadata depends on the Renderer's implementations. For example the XHTML Renderer adds them as Element attributes.
        Specified by:
        getParameter in interface Block
        Parameters:
        name - the name of the parameter to return
        Returns:
        the parameter or null if the parameter doesn't exist
      • setParameter

        public void setParameter​(String name,
                                 String value)
        Description copied from interface: Block
        Set a parameter on the current block. See Block.getParameter(String) for more details.
        Specified by:
        setParameter in interface Block
        Parameters:
        name - the parameter's name
        value - the parameter's value
      • setParent

        public void setParent​(Block parentBlock)
        Description copied from interface: Block
        Sets the parent block.
        Specified by:
        setParent in interface Block
        Parameters:
        parentBlock - the parent block
      • getRoot

        public Block getRoot()
        Description copied from interface: Block
        Gets the top level Block. If the current block is the top level Block, it return itself.
        Specified by:
        getRoot in interface Block
        Returns:
        the top level Block
      • getNextSibling

        public Block getNextSibling()
        Specified by:
        getNextSibling in interface Block
        Returns:
        the next sibling block or null if there's no next sibling
      • getPreviousSibling

        public Block getPreviousSibling()
        Specified by:
        getPreviousSibling in interface Block
        Returns:
        the previous sibling block or null if there's no previous sibling
      • removeBlock

        public void removeBlock​(Block childBlockToRemove)
        Description copied from interface: Block
        Removes a Block.
        Specified by:
        removeBlock in interface Block
        Parameters:
        childBlockToRemove - the child block to remove
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • clone

        public Block clone​(BlockFilter blockFilter)
        Return a copy of the block with filtered children.
        Specified by:
        clone in interface Block
        Parameters:
        blockFilter - the Block filter.
        Returns:
        the filtered Block.
        Since:
        1.8RC2
      • before

        public void before​(Listener listener)
        Send Listener events corresponding to the start of the block. For example for a Bold block, this allows an XHTML Listener (aka a Renderer) to output <b>.
        Parameters:
        listener - the listener that will receive the events sent by this block before its children blocks have emitted their own events.
      • after

        public void after​(Listener listener)
        Send Listener events corresponding to the end of the block. For example for a Bold block, this allows an XHTML Listener (aka a Renderer) to output </b>.
        Parameters:
        listener - the listener that will receive the events sent by this block before its children blocks have emitted their own events.
      • getBlocks

        public <T extends BlockList<T> getBlocks​(BlockMatcher matcher,
                                                   Block.Axes axes)
        Description copied from interface: Block
        Get all blocks following provided BlockMatcher and Block.Axes.
        Specified by:
        getBlocks in interface Block
        Type Parameters:
        T - the class of the Blocks to return
        Parameters:
        matcher - filter the blocks to return
        axes - indicate the search axes
        Returns:
        the matched Blocks, empty list of none was found
      • getFirstBlock

        public <T extends Block> T getFirstBlock​(BlockMatcher matcher,
                                                 Block.Axes axes)
        Description copied from interface: Block
        Get the first matched block in the provided Block.Axes.
        Specified by:
        getFirstBlock in interface Block
        Type Parameters:
        T - the class of the Block to return
        Parameters:
        matcher - indicate which block to stop to
        axes - indicate the search axes
        Returns:
        the matched Block, null if none was found