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 class
Block.Axes
Search axes used in searching methods.
-
Field Summary
Fields Modifier and Type Field Description static Type
LIST_BLOCK_TYPE
Helper to represent the Type for each List<Block>.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addChild(Block blockToAdd)
Helper method to add a single child block to the end of the children list of the current block.void
addChildren(List<? extends Block> blocksToAdd)
Adds several children blocks to the end of the children list of the current block.Block
clone()
Block
clone(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 providedBlockMatcher
andBlock.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
.Block
getNextSibling()
String
getParameter(String name)
A Parameter is a generic key/value which can be used to add metadata to a block.Map<String,String>
getParameters()
Block
getParent()
Get the parent block.Block
getPreviousSibling()
Block
getRoot()
Gets the top level Block.void
insertChildAfter(Block blockToInsert, Block previousBlock)
Helper method to add a single child block to the current block after the provided existing child block.void
insertChildBefore(Block blockToInsert, Block nextBlock)
Helper method to add a single child block to the current block before the provided existing child block.void
removeBlock(Block childBlockToRemove)
Removes a Block.void
replaceChild(List<Block> newBlocks, Block oldBlock)
Replaces an existing children block with the passed new blocks.void
replaceChild(Block newBlock, Block oldBlock)
Replaces an existing children block with the passed new block.void
setChildren(List<? extends Block> children)
Replace current children by the provided list ofBlock
s.void
setNextSiblingBlock(Block nextSiblingBlock)
void
setParameter(String name, String value)
Set a parameter on the current block.void
setParameters(Map<String,String> parameters)
Set several parameters at once.void
setParent(Block parentBlock)
Sets the parent block.void
setPreviousSiblingBlock(Block previousSiblingBlock)
void
traverse(Listener listener)
Let the block sendListener
events 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 sendListener
events 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 ofBlock
s.- 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 theXDOM
object.- 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 providedBlockMatcher
andBlock.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
Block
s, 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
-
-