Package org.xwiki.rendering.block
Interface Block
-
- All Superinterfaces:
Cloneable
- All Known Subinterfaces:
ListBLock
- All Known Implementing Classes:
AbstractBlock,AbstractMacroBlock,BulletedListBlock,CompositeBlock,DefinitionDescriptionBlock,DefinitionListBlock,DefinitionTermBlock,EmptyLinesBlock,FigureBlock,FigureCaptionBlock,FormatBlock,GroupBlock,HeaderBlock,HorizontalLineBlock,IdBlock,ImageBlock,LinkBlock,ListItemBlock,MacroBlock,MacroMarkerBlock,MetaDataBlock,NewLineBlock,NumberedListBlock,ParagraphBlock,QuotationBlock,QuotationLineBlock,RawBlock,SectionBlock,SpaceBlock,SpecialSymbolBlock,TableBlock,TableCellBlock,TableHeadCellBlock,TableRowBlock,VerbatimBlock,WordBlock,XDOM
public interface Block extends Cloneable
Represents an element of a XWiki Document's content. For example there are Blocks for Paragraphs, Bold parts, Sections, Links, etc. A block has a parent and can have children too for Blocks which are wrapper around other blocks (e.g. Paragraph blocks, List blocks, Bold blocks).- Since:
- 1.5M2
- Version:
- $Id: 47994a01e00ed849219e09943bc6639065eefc4e $
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classBlock.AxesSearch axes used in searching methods.
-
Field Summary
Fields Modifier and Type Field Description static TypeLIST_BLOCK_TYPEHelper to represent the Type for each List<Block>.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddChild(Block blockToAdd)Helper method to add a single child block to the end of the children list of the current block.voidaddChildren(List<? extends Block> blocksToAdd)Adds several children blocks to the end of the children list of the current block.Blockclone()Blockclone(BlockFilter blockFilter)Return a copy of the block with filtered children.<T extends Block>
List<T>getBlocks(BlockMatcher matcher, Block.Axes axes)Get all blocks following providedBlockMatcherandBlock.Axes.List<Block>getChildren()Gets all children blocks.<T extends Block>
TgetFirstBlock(BlockMatcher matcher, Block.Axes axes)Get the first matched block in the providedBlock.Axes.BlockgetNextSibling()StringgetParameter(String name)A Parameter is a generic key/value which can be used to add metadata to a block.Map<String,String>getParameters()BlockgetParent()Get the parent block.BlockgetPreviousSibling()BlockgetRoot()Gets the top level Block.voidinsertChildAfter(Block blockToInsert, Block previousBlock)Helper method to add a single child block to the current block after the provided existing child block.voidinsertChildBefore(Block blockToInsert, Block nextBlock)Helper method to add a single child block to the current block before the provided existing child block.voidremoveBlock(Block childBlockToRemove)Removes a Block.voidreplaceChild(List<Block> newBlocks, Block oldBlock)Replaces an existing children block with the passed new blocks.voidreplaceChild(Block newBlock, Block oldBlock)Replaces an existing children block with the passed new block.voidsetChildren(List<? extends Block> children)Replace current children by the provided list ofBlocks.voidsetNextSiblingBlock(Block nextSiblingBlock)voidsetParameter(String name, String value)Set a parameter on the current block.voidsetParameters(Map<String,String> parameters)Set several parameters at once.voidsetParent(Block parentBlock)Sets the parent block.voidsetPreviousSiblingBlock(Block previousSiblingBlock)voidtraverse(Listener listener)Let the block sendListenerevents corresponding to its content.
-
-
-
Field Detail
-
LIST_BLOCK_TYPE
static final Type LIST_BLOCK_TYPE
Helper to represent the Type for each List<Block>.- Since:
- 10.10RC1
-
-
Method Detail
-
traverse
void traverse(Listener listener)
Let the block sendListenerevents corresponding to its content. For example a Paragraph block will send theListener.beginParagraph(java.util.Map<java.lang.String, java.lang.String>)andListener.endParagraph(java.util.Map<java.lang.String, java.lang.String>)events when this method is called.- Parameters:
listener- the listener to which to send the events to.
-
addChild
void addChild(Block blockToAdd)
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 useaddChildren(java.util.List).- Parameters:
blockToAdd- the child block to add
-
addChildren
void addChildren(List<? extends Block> blocksToAdd)
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.- Parameters:
blocksToAdd- the children blocks to add
-
setChildren
void setChildren(List<? extends Block> children)
Replace current children by the provided list ofBlocks.- Parameters:
children- the new children
-
insertChildBefore
void insertChildBefore(Block blockToInsert, Block nextBlock)
Helper method to add a single child block to the current block before the provided existing child block. For adding several blocks at once useaddChildren(java.util.List).- Parameters:
blockToInsert- the child block to addnextBlock- the child block that will be just after the added block- Since:
- 1.6M1
-
insertChildAfter
void insertChildAfter(Block blockToInsert, Block previousBlock)
Helper method to add a single child block to the current block after the provided existing child block. For adding several blocks at once useaddChildren(java.util.List).- Parameters:
blockToInsert- the child block to addpreviousBlock- the child block that will be just before the added block- Since:
- 1.6M1
-
replaceChild
void replaceChild(Block newBlock, Block oldBlock)
Replaces an existing children block with the passed new block. Also sets the new block's parent to be the current block.- Parameters:
newBlock- the new block to replace the old block witholdBlock- the block to replace with the new block
-
replaceChild
void replaceChild(List<Block> newBlocks, Block oldBlock)
Replaces an existing children block with the passed new blocks. Also sets the new block's parents to be the current block.- Parameters:
newBlocks- the new blocks to replace the old block witholdBlock- the block to replace with the new blocks
-
getParent
Block getParent()
Get the parent block. All blocks have a parent and the top level parent is theXDOMobject.- Returns:
- the parent block
-
setParent
void setParent(Block parentBlock)
Sets the parent block.- Parameters:
parentBlock- the parent block
-
getChildren
List<Block> getChildren()
Gets all children blocks.- Returns:
- the children blocks
- See Also:
addChildren(java.util.List)
-
getRoot
Block getRoot()
Gets the top level Block. If the current block is the top level Block, it return itself.- Returns:
- the top level Block
-
removeBlock
void removeBlock(Block childBlockToRemove)
Removes a Block.- Parameters:
childBlockToRemove- the child block to remove- Since:
- 2.6RC1
-
getNextSibling
Block getNextSibling()
- Returns:
- the next sibling block or null if there's no next sibling
- Since:
- 2.6RC1
-
setNextSiblingBlock
void setNextSiblingBlock(Block nextSiblingBlock)
- Parameters:
nextSiblingBlock- seegetNextSibling()- Since:
- 2.6RC1
-
getPreviousSibling
Block getPreviousSibling()
- Returns:
- the previous sibling block or null if there's no previous sibling
- Since:
- 2.6RC1
-
setPreviousSiblingBlock
void setPreviousSiblingBlock(Block previousSiblingBlock)
- Parameters:
previousSiblingBlock- seegetPreviousSibling()()}- Since:
- 2.6RC1
-
clone
Block clone(BlockFilter blockFilter)
Return a copy of the block with filtered children.- Parameters:
blockFilter- the Block filter.- Returns:
- the filtered Block.
- Since:
- 1.8RC2
-
clone
Block clone()
- Returns:
- the cloned Block
- See Also:
Object.clone()
-
getParameter
String getParameter(String name)
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.- Parameters:
name- the name of the parameter to return- Returns:
- the parameter or null if the parameter doesn't exist
- Since:
- 3.0M1
-
setParameter
void setParameter(String name, String value)
Set a parameter on the current block. SeegetParameter(String)for more details.- Parameters:
name- the parameter's namevalue- the parameter's value- Since:
- 3.0M1
-
setParameters
void setParameters(Map<String,String> parameters)
Set several parameters at once.- Parameters:
parameters- the parameters to set- Since:
- 3.0M1
- See Also:
getParameter(String)
-
getBlocks
<T extends Block> List<T> getBlocks(BlockMatcher matcher, Block.Axes axes)
Get all blocks following providedBlockMatcherandBlock.Axes.- Type Parameters:
T- the class of the Blocks to return- Parameters:
matcher- filter the blocks to returnaxes- indicate the search axes- Returns:
- the matched
Blocks, empty list of none was found - Since:
- 3.0M3
-
getFirstBlock
<T extends Block> T getFirstBlock(BlockMatcher matcher, Block.Axes axes)
Get the first matched block in the providedBlock.Axes.- Type Parameters:
T- the class of the Block to return- Parameters:
matcher- indicate which block to stop toaxes- indicate the search axes- Returns:
- the matched
Block, null if none was found - Since:
- 3.0M3
-
-