Class BlockContainer

    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • blocks

        private final java.util.List blocks
        The blocks within the container.
      • arrangement

        private Arrangement arrangement
        The object responsible for laying out the blocks.
    • Constructor Detail

      • BlockContainer

        public BlockContainer()
        Creates a new instance with default settings.
      • BlockContainer

        public BlockContainer​(Arrangement arrangement)
        Creates a new instance with the specified arrangement.
        Parameters:
        arrangement - the arrangement manager (null not permitted).
    • Method Detail

      • getArrangement

        public Arrangement getArrangement()
        Returns the arrangement (layout) manager for the container.
        Returns:
        The arrangement manager (never null).
      • setArrangement

        public void setArrangement​(Arrangement arrangement)
        Sets the arrangement (layout) manager.
        Parameters:
        arrangement - the arrangement (null not permitted).
      • isEmpty

        public boolean isEmpty()
        Returns true if there are no blocks in the container, and false otherwise.
        Returns:
        A boolean.
      • getBlocks

        public java.util.List getBlocks()
        Returns an unmodifiable list of the Block objects managed by this arrangement.
        Returns:
        A list of blocks.
      • add

        public void add​(Block block)
        Adds a block to the container.
        Parameters:
        block - the block (null permitted).
      • add

        public void add​(Block block,
                        java.lang.Object key)
        Adds a block to the container.
        Parameters:
        block - the block (null permitted).
        key - the key (null permitted).
      • clear

        public void clear()
        Clears all the blocks from the container.
      • arrange

        public Size2D arrange​(java.awt.Graphics2D g2,
                              RectangleConstraint constraint)
        Arranges the contents of the block, within the given constraints, and returns the block size.
        Specified by:
        arrange in interface Block
        Overrides:
        arrange in class AbstractBlock
        Parameters:
        g2 - the graphics device.
        constraint - the constraint (null not permitted).
        Returns:
        The block size (in Java2D units, never null).
      • draw

        public void draw​(java.awt.Graphics2D g2,
                         java.awt.geom.Rectangle2D area)
        Draws the container and all the blocks within it.
        Specified by:
        draw in interface Drawable
        Parameters:
        g2 - the graphics device.
        area - the area.
      • draw

        public java.lang.Object draw​(java.awt.Graphics2D g2,
                                     java.awt.geom.Rectangle2D area,
                                     java.lang.Object params)
        Draws the block within the specified area.
        Specified by:
        draw in interface Block
        Parameters:
        g2 - the graphics device.
        area - the area.
        params - passed on to blocks within the container (null permitted).
        Returns:
        An instance of EntityBlockResult, or null.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this container for equality with an arbitrary object.
        Overrides:
        equals in class AbstractBlock
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • canEqual

        public boolean canEqual​(java.lang.Object other)
        Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.
        Overrides:
        canEqual in class AbstractBlock
        Parameters:
        other - Object
        Returns:
        true ONLY if the parameter is THIS class type
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of the container.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class AbstractBlock
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if there is a problem cloning.