com.ijchart.xychart.render.category
Class AbstractCategoryRender

java.lang.Object
  extended by com.ijchart.xychart.render.AbstractRender
      extended by com.ijchart.xychart.render.AbstractWithAxisRender
          extended by com.ijchart.xychart.render.category.AbstractCategoryRender
All Implemented Interfaces:
IDatasetChangeListener, IRender, IRenderWithAxis, java.io.Serializable, java.lang.Cloneable, java.util.EventListener
Direct Known Subclasses:
AbstractBaseValueCategoryRender, AreaRender, BoxAndWhiskerRender, GranttRender, IntervalBarRender, LevelRender, Line3DRender, LineAndShapeRender, MinMaxRender, StackedAreaRender, StackedBarRender, StatisticalLineRender, StepRender, WaterfallBarRender

public abstract class AbstractCategoryRender
extends AbstractWithAxisRender
implements java.lang.Cloneable, java.io.Serializable

Title: IJChart

Description: a chart library for the Java(tm) platform.

Base class providing common services for category renders.

Copyright: Copyright (c) 2013

Company:

Version:
1.0
Author:
zhang feng min,shanghai china. Contract me by email.
See Also:
Serialized Form

Field Summary
static double DEFAULT_BASE_VALUE
           The default base value for the bars,and the value must between the minimum and maximum value of axis tick mark.
static double DEFAULT_ITEM_MARGIN
           The default item margin percentage.
static double DEFAULT_MAXIMUM_BAR_WIDTH
           The default maximum bar width (in Java2D units).
static double DEFAULT_MINIMUM_BAR_WIDTH
           The default minimum bar length (in Java2D units).
 
Fields inherited from class com.ijchart.xychart.render.AbstractRender
borderPaints, borderStrokes, DEFAULT_AUTO_SELECT_BORDER_PAINT, DEFAULT_AUTO_SELECT_BORDER_STROKE, DEFAULT_AUTO_SELECT_FILL_PAINT, DEFAULT_BACKGROUND_IMAGE_ALIGNMENT, DEFAULT_BACKGROUND_PAINT, DEFAULT_BASE_BORDER_PAINT, DEFAULT_BASE_BORDER_STROKE, DEFAULT_BASE_ITEM_FILL, DEFAULT_BASE_ITEM_FILL_PAINT, DEFAULT_BASE_ITEM_FILL_PAINT_TRANSFORMER, DEFAULT_BASE_ITEM_LABEL_FONT, DEFAULT_BASE_ITEM_LABEL_HORIZONTAL_ALIGNMENT, DEFAULT_BASE_ITEM_LABEL_PAINT, DEFAULT_BASE_ITEM_LABEL_VERTICAL_ALIGNMENT, DEFAULT_BASE_ITEM_LABEL_VISIBLE, DEFAULT_BORDER_PAINT, DEFAULT_BORDER_STROKE, DEFAULT_DRAW_BORDER, DEFAULT_DRAWINT_SUPPLIER, DEFAULT_GENERATOR_TOOLTIP, DEFAULT_GENERATOR_URL, DEFAULT_LABEL_GENERATOR, DEFAULT_RENDER_AREA_BORDER_VISIBLE, DEFAULT_TOOLTIP_GENERATOR, fillPaints
 
Constructor Summary
protected AbstractCategoryRender(IMatrixDataset dataset)
           constructor.
 
Method Summary
 void addAnnotation(ICategoryAnnotation annotation)
           Add an annotation and sends a RenderChangeEvent to all registered listeners.
 java.lang.Object clone()
           Creates and returns a copy of this object.
protected static IChartShape createCategoryMarkerShape(CategoryMarker marker, java.awt.geom.Rectangle2D rect)
           Create a category marker shape.
 void drawAllAnnotation(CategoryAxis categoryAxis, AbstractValueAxis valueAxis, RectangleEdge valueAxisEdge, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, AnnotationShapeCollection annotationShapes)
           Draws all annotation items.
abstract  void drawAllItems(CategoryAxis categoryAxis, AbstractValueAxis valueAxis, RectangleEdge valueAxisEdge, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, RenderShapeCollection renderShapes, float alpha)
           Draws all data items.
 void drawCategoryMarker(CategoryAxis categoryAxis, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, RenderShapeCollection renderShapes)
           Draws a marker to indicate a particular category on the category axis.
 boolean equals(java.lang.Object obj)
           Indicates if some other object is "equal to" this one.
 java.util.Collection getAllAnnotations()
           Returns all annotations and this collection is unmodifiable.
 double getBaseValue()
           The base value for the bars.
 double getItemMargin()
           Returns the item margin as a percentage of the available space for all bars.
 double getMaximumBarWidth()
           Returns the maximum bar width (in Java2D units).
 double getMinimumBarWidth()
           Returns the minimum bar width (in Java2D units).
 int hashCode()
           Returns a hash code value for the object.
 void removeAllAnnotation()
           Remove all annotations of this render and sends a RenderChangeEvent to all registered listeners.
 void setBaseValue(double value)
           Sets the base value for the bars and sends a RenderChangeEvent to all registered listeners.
 void setItemMargin(double percent)
           Sets the item margin and sends a RenderChangeEvent to all registered listeners.
 void setMaximumBarWidth(double barWidth)
           Sets the maximum bar width,and sends a RenderChangeEvent to all registered listeners.
 void setMinimumBarWidth(double barWidth)
           Sets the mimimum bar width,if the bar width less than this value would not be drawn ,and sends a RenderChangeEvent to all registered listeners.
 java.lang.String toString()
           Returns a string representation of the object.
 
Methods inherited from class com.ijchart.xychart.render.AbstractWithAxisRender
createItemShape, createValueMarkerShape, drawIntervalValueMarker, drawValueMarker, getValueAxisOffsetType
 
Methods inherited from class com.ijchart.xychart.render.AbstractRender
add3DShapes, addChangeListener, calculateLegendItemShapes, createItemShapeOnly, datasetChanged, drawBackground, drawBackgroundImage, drawDrawAreaBorder, fireRenderChanged, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getBaseItemBorderPaint, getBaseItemBorderStroke, getBaseItemFillPaint, getBaseItemFillPaintTransformer, getBaseItemLabelDirection, getBaseItemLabelFont, getBaseItemLabelHorizontalAlignment, getBaseItemLabelPaint, getBaseItemLabelPosition, getBaseItemLabelVerticalAlignment, getBaseItemLabelVisible, getBorderPaints, getBorderStrokes, getChartArea, getColumnItemBorderPaint, getColumnItemBorderStroke, getColumnItemFillPaint, getColumnItemFillPaintTransformer, getColumnItemLabelDirection, getColumnItemLabelFont, getColumnItemLabelHorizontalAlignment, getColumnItemLabelPaint, getColumnItemLabelPosition, getColumnItemLabelVerticalAlignment, getDataset, getDrawingSupplier, getFillPaints, getItemBorderPaint, getItemBorderStroke, getItemFillPaint, getItemFillPaintHelper, getItemFillPaintTransformer, getItemLabelDirection, getItemLabelFont, getItemLabelHorizontalAlignment, getItemLabelPaint, getItemLabelPosition, getItemLabelVerticalAlignment, getLabelGenerator, getLegendItemCount, getLegendItemLabels, getLegendItemLabelsByColumn, getLegendItemLabelsByRow, getLegendItemShapes, getLegendPositon, getLegendType, getNegativeItemLabelHorizontalAlignment, getNegativeItemLabelVerticalAlignment, getPositiveItemLabelHorizontalAlignment, getPositiveItemLabelVerticalAlignment, getRenderAreaBorderPaint, getRenderAreaBorderStroke, getRowItemBorderPaint, getRowItemBorderStroke, getRowItemFillPaint, getRowItemFillPaintTransformer, getRowItemLabelDirection, getRowItemLabelFont, getRowItemLabelHorizontalAlignment, getRowItemLabelPaint, getRowItemLabelPosition, getRowItemLabelVerticalAlignment, getToolTipGenerator, hasListener, isAutoSelectBorderPaint, isAutoSelectBorderStroke, isAutoSelectFillPaint, isBaseItemDrawBorder, isBaseItemFill, isColumnItemDrawBorder, isColumnItemFill, isColumnItemLabelVisible, isColumnItemVisible, isGeneratorTooltip, isGeneratorUrl, isItemDrawBorder, isItemFill, isItemLabelVisible, isItemVisible, isRenderAreaBorderVisible, isRowItemDrawBorder, isRowItemFill, isRowItemLabelVisible, isRowItemVisible, notifyListeners, removeAllChangeListener, removeChangeListener, setAutoSelectBorderPaint, setAutoSelectBorderStroke, setAutoSelectFillPaint, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setBaseItemBorderPaint, setBaseItemBorderStroke, setBaseItemDrawBorder, setBaseItemFill, setBaseItemFillPaint, setBaseItemFillPaintTransformer, setBaseItemLabelDirection, setBaseItemLabelFont, setBaseItemLabelHorizontalAlignment, setBaseItemLabelPaint, setBaseItemLabelPosition, setBaseItemLabelVerticalAlignment, setBaseItemLabelVisible, setChartArea, setColumnItemBorderPaint, setColumnItemBorderStroke, setColumnItemDrawBorder, setColumnItemFill, setColumnItemFillPaint, setColumnItemFillPaintTransformer, setColumnItemLabelDirection, setColumnItemLabelFont, setColumnItemLabelHorizontalAlignment, setColumnItemLabelPaint, setColumnItemLabelPosition, setColumnItemLabelVerticalAlignment, setColumnItemLabelVisible, setColumnItemVisible, setCustomLegendType, setDataset, setDrawingSupplier, setDrawingSupplier, setGeneratorTooltip, setGeneratorUrl, setItemBorderPaint, setItemBorderStroke, setItemDrawBorder, setItemFill, setItemFillPaint, setItemFillPaintTransformer, setItemLabelDirection, setItemLabelFont, setItemLabelHorizontalAlignment, setItemLabelPaint, setItemLabelPosition, setItemLabelVerticalAlignment, setItemLabelVisible, setItemVisible, setLabelGenerator, setLegendPositon, setNegativeItemLabelHorizontalAlignment, setNegativeItemLabelVerticalAlignment, setPositiveItemLabelHorizontalAlignment, setPositiveItemLabelVerticalAlignment, setRenderAreaBorderPaint, setRenderAreaBorderStroke, setRenderAreaBorderVisible, setRowItemBorderPaint, setRowItemBorderStroke, setRowItemDrawBorder, setRowItemFill, setRowItemFillPaint, setRowItemFillPaintTransformer, setRowItemLabelDirection, setRowItemLabelFont, setRowItemLabelHorizontalAlignment, setRowItemLabelPaint, setRowItemLabelPosition, setRowItemLabelVerticalAlignment, setRowItemLabelVisible, setRowItemVisible, setToolTipGenerator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ijchart.xychart.render.IRender
addChangeListener, drawBackground, drawBackgroundImage, drawDrawAreaBorder, getBaseItemBorderPaint, getBaseItemBorderStroke, getBaseItemFillPaint, getBaseItemFillPaintTransformer, getBaseItemLabelFont, getBaseItemLabelHorizontalAlignment, getBaseItemLabelPaint, getBaseItemLabelPosition, getBaseItemLabelVerticalAlignment, getBaseItemLabelVisible, getColumnItemBorderPaint, getColumnItemBorderStroke, getColumnItemFillPaint, getColumnItemFillPaintTransformer, getColumnItemLabelFont, getColumnItemLabelHorizontalAlignment, getColumnItemLabelPaint, getColumnItemLabelPosition, getColumnItemLabelVerticalAlignment, getItemBorderPaint, getItemBorderStroke, getItemFillPaint, getItemFillPaintTransformer, getItemLabelFont, getItemLabelHorizontalAlignment, getItemLabelPaint, getItemLabelPosition, getItemLabelVerticalAlignment, getLabelGenerator, getLegendType, getNegativeItemLabelHorizontalAlignment, getNegativeItemLabelVerticalAlignment, getPositiveItemLabelHorizontalAlignment, getPositiveItemLabelVerticalAlignment, getRowItemBorderPaint, getRowItemBorderStroke, getRowItemFillPaint, getRowItemFillPaintTransformer, getRowItemLabelFont, getRowItemLabelHorizontalAlignment, getRowItemLabelPaint, getRowItemLabelPosition, getRowItemLabelVerticalAlignment, getToolTipGenerator, isBaseItemDrawBorder, isBaseItemFill, isColumnItemDrawBorder, isColumnItemFill, isColumnItemLabelVisible, isColumnItemVisible, isItemDrawBorder, isItemFill, isItemLabelVisible, isItemVisible, isRowItemDrawBorder, isRowItemFill, isRowItemLabelVisible, isRowItemVisible, removeAllChangeListener, removeChangeListener, setBaseItemBorderPaint, setBaseItemBorderStroke, setBaseItemDrawBorder, setBaseItemFill, setBaseItemFillPaint, setBaseItemFillPaintTransformer, setBaseItemLabelFont, setBaseItemLabelHorizontalAlignment, setBaseItemLabelPaint, setBaseItemLabelPosition, setBaseItemLabelVerticalAlignment, setBaseItemLabelVisible, setColumnItemBorderPaint, setColumnItemBorderStroke, setColumnItemDrawBorder, setColumnItemFill, setColumnItemFillPaint, setColumnItemFillPaintTransformer, setColumnItemLabelFont, setColumnItemLabelHorizontalAlignment, setColumnItemLabelPaint, setColumnItemLabelPosition, setColumnItemLabelVerticalAlignment, setColumnItemLabelVisible, setColumnItemVisible, setCustomLegendType, setItemBorderPaint, setItemBorderStroke, setItemDrawBorder, setItemFill, setItemFillPaint, setItemFillPaintTransformer, setItemLabelFont, setItemLabelHorizontalAlignment, setItemLabelPaint, setItemLabelPosition, setItemLabelVerticalAlignment, setItemLabelVisible, setItemVisible, setLabelGenerator, setNegativeItemLabelHorizontalAlignment, setNegativeItemLabelVerticalAlignment, setPositiveItemLabelHorizontalAlignment, setPositiveItemLabelVerticalAlignment, setRowItemBorderPaint, setRowItemBorderStroke, setRowItemDrawBorder, setRowItemFill, setRowItemFillPaint, setRowItemFillPaintTransformer, setRowItemLabelFont, setRowItemLabelHorizontalAlignment, setRowItemLabelPaint, setRowItemLabelPosition, setRowItemLabelVerticalAlignment, setRowItemLabelVisible, setRowItemVisible, setToolTipGenerator
 

Field Detail

DEFAULT_ITEM_MARGIN

public static final double DEFAULT_ITEM_MARGIN
The default item margin percentage.

See Also:
Constant Field Values

DEFAULT_BASE_VALUE

public static final double DEFAULT_BASE_VALUE
The default base value for the bars,and the value must between the minimum and maximum value of axis tick mark.

See Also:
Constant Field Values

DEFAULT_MINIMUM_BAR_WIDTH

public static final double DEFAULT_MINIMUM_BAR_WIDTH
The default minimum bar length (in Java2D units).

See Also:
Constant Field Values

DEFAULT_MAXIMUM_BAR_WIDTH

public static final double DEFAULT_MAXIMUM_BAR_WIDTH
The default maximum bar width (in Java2D units).

See Also:
Constant Field Values
Constructor Detail

AbstractCategoryRender

protected AbstractCategoryRender(IMatrixDataset dataset)
constructor.

Parameters:
dataset - IMatrixDataset The dataset (null not permitted).
Method Detail

getItemMargin

public double getItemMargin()
Returns the item margin as a percentage of the available space for all bars.

Returns:
The margin percentage

setItemMargin

public void setItemMargin(double percent)
Sets the item margin and sends a RenderChangeEvent to all registered listeners. The value is expressed as a percentage of the available width for plotting all the bars, with the resulting amount to be distributed between all the bars evenly.

Parameters:
percent - double The margin (where 0.10 is ten percent).

getBaseValue

public double getBaseValue()
The base value for the bars.

Returns:
The base value for the bars.

setBaseValue

public void setBaseValue(double value)
Sets the base value for the bars and sends a RenderChangeEvent to all registered listeners.

Parameters:
value - double The new base value.

getMinimumBarWidth

public double getMinimumBarWidth()
Returns the minimum bar width (in Java2D units).

Returns:
double The mimimum bar width.

setMinimumBarWidth

public void setMinimumBarWidth(double barWidth)
Sets the mimimum bar width,if the bar width less than this value would not be drawn ,and sends a RenderChangeEvent to all registered listeners.

Parameters:
barWidth - double The minimum bar width (in Java2D units).

getMaximumBarWidth

public double getMaximumBarWidth()
Returns the maximum bar width (in Java2D units).

Returns:
double The maximum bar width.

setMaximumBarWidth

public void setMaximumBarWidth(double barWidth)
Sets the maximum bar width,and sends a RenderChangeEvent to all registered listeners.

Parameters:
barWidth - double The maximum bar width (in Java2D units),and must greater than 0.

drawCategoryMarker

public void drawCategoryMarker(CategoryAxis categoryAxis,
                               java.awt.geom.Rectangle2D dataArea,
                               ChartOrientation orientation,
                               RenderShapeCollection renderShapes)
Draws a marker to indicate a particular category on the category axis.

Parameters:
categoryAxis - CategoryAxis The category axis (null not permitted).
dataArea - Rectangle2D The chart data area (null not permitted).
orientation - ChartOrientation The chart orientation (null not permitted).
renderShapes - RenderShapeCollection Collects information about the render (null not permitted).

createCategoryMarkerShape

protected static IChartShape createCategoryMarkerShape(CategoryMarker marker,
                                                       java.awt.geom.Rectangle2D rect)
Create a category marker shape.

Parameters:
marker - CategoryMarker The category marker object.
rect - Rectangle2D The marker shape bound.
Returns:
IChartShape

drawAllItems

public abstract void drawAllItems(CategoryAxis categoryAxis,
                                  AbstractValueAxis valueAxis,
                                  RectangleEdge valueAxisEdge,
                                  java.awt.geom.Rectangle2D dataArea,
                                  ChartOrientation orientation,
                                  RenderShapeCollection renderShapes,
                                  float alpha)
Draws all data items.

Parameters:
categoryAxis - CategoryAxis The category axis (null not permitted).
valueAxis - AbstractValueAxis The value axis (null not permitted).
valueAxisEdge - RectangleEdge The value axis edge (null not permitted).
dataArea - Rectangle2D The chart data area (null not permitted).
orientation - ChartOrientation The chart orientation (null not permitted).
renderShapes - RenderShapeCollection Collects information about the render (null not permitted).
alpha - float The alpha transparency (in the range 0.0f to 1.0f, where 0.0f is fully transparent, and 1.0f is fully opaque).

addAnnotation

public void addAnnotation(ICategoryAnnotation annotation)
Add an annotation and sends a RenderChangeEvent to all registered listeners.

Parameters:
annotation - ICategoryAnnotation A annotation object (null not permitted).

removeAllAnnotation

public void removeAllAnnotation()
Remove all annotations of this render and sends a RenderChangeEvent to all registered listeners.


getAllAnnotations

public java.util.Collection getAllAnnotations()
Returns all annotations and this collection is unmodifiable.

Returns:
Collection The collection of annotations (never null).

drawAllAnnotation

public void drawAllAnnotation(CategoryAxis categoryAxis,
                              AbstractValueAxis valueAxis,
                              RectangleEdge valueAxisEdge,
                              java.awt.geom.Rectangle2D dataArea,
                              ChartOrientation orientation,
                              AnnotationShapeCollection annotationShapes)
Draws all annotation items.

Parameters:
categoryAxis - CategoryAxis The category axis (null not permitted).
valueAxis - AbstractValueAxis The value axis (null not permitted).
valueAxisEdge - RectangleEdge The value axis edge (null not permitted).
orientation - ChartOrientation The chart orientation (null not permitted).
dataArea - Rectangle2D The chart data area (null not permitted).
annotationShapes - AnnotationShapeCollection Collects information about the annotation (null not permitted).

equals

public boolean equals(java.lang.Object obj)
Indicates if some other object is "equal to" this one.

Overrides:
equals in class AbstractWithAxisRender
Parameters:
obj - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.

hashCode

public int hashCode()
Returns a hash code value for the object.

Overrides:
hashCode in class AbstractWithAxisRender
Returns:
int A hash code value for this object.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this object.

Overrides:
clone in class AbstractWithAxisRender
Returns:
object a clone of this instance.
Throws:
java.lang.CloneNotSupportedException - if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.

toString

public java.lang.String toString()
Returns a string representation of the object.

Overrides:
toString in class AbstractWithAxisRender
Returns:
a string representation of the object.