Class ValueAxis

    • Field Detail

      • serialVersionUID

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

        public static final Range DEFAULT_RANGE
        The default axis range.
      • DEFAULT_AUTO_RANGE

        public static final boolean DEFAULT_AUTO_RANGE
        The default auto-range value.
        See Also:
        Constant Field Values
      • DEFAULT_INVERTED

        public static final boolean DEFAULT_INVERTED
        The default inverted flag setting.
        See Also:
        Constant Field Values
      • DEFAULT_AUTO_RANGE_MINIMUM_SIZE

        public static final double DEFAULT_AUTO_RANGE_MINIMUM_SIZE
        The default minimum auto range.
        See Also:
        Constant Field Values
      • DEFAULT_LOWER_MARGIN

        public static final double DEFAULT_LOWER_MARGIN
        The default value for the lower margin (0.05 = 5%).
        See Also:
        Constant Field Values
      • DEFAULT_UPPER_MARGIN

        public static final double DEFAULT_UPPER_MARGIN
        The default value for the upper margin (0.05 = 5%).
        See Also:
        Constant Field Values
      • DEFAULT_AUTO_TICK_UNIT_SELECTION

        public static final boolean DEFAULT_AUTO_TICK_UNIT_SELECTION
        The default auto-tick-unit-selection value.
        See Also:
        Constant Field Values
      • MAXIMUM_TICK_COUNT

        public static final int MAXIMUM_TICK_COUNT
        The maximum tick count.
        See Also:
        Constant Field Values
      • positiveArrowVisible

        private boolean positiveArrowVisible
        A flag that controls whether an arrow is drawn at the positive end of the axis line.
      • negativeArrowVisible

        private boolean negativeArrowVisible
        A flag that controls whether an arrow is drawn at the negative end of the axis line.
      • upArrow

        private transient java.awt.Shape upArrow
        The shape used for an up arrow.
      • downArrow

        private transient java.awt.Shape downArrow
        The shape used for a down arrow.
      • leftArrow

        private transient java.awt.Shape leftArrow
        The shape used for a left arrow.
      • rightArrow

        private transient java.awt.Shape rightArrow
        The shape used for a right arrow.
      • inverted

        private boolean inverted
        A flag that affects the orientation of the values on the axis.
      • range

        private Range range
        The axis range.
      • autoRange

        private boolean autoRange
        Flag that indicates whether the axis automatically scales to fit the chart data.
      • autoRangeMinimumSize

        private double autoRangeMinimumSize
        The minimum size for the 'auto' axis range (excluding margins).
      • defaultAutoRange

        private Range defaultAutoRange
        The default range is used when the dataset is empty and the axis needs to determine the auto range.
      • upperMargin

        private double upperMargin
        The upper margin percentage. This indicates the amount by which the maximum axis value exceeds the maximum data value (as a percentage of the range on the axis) when the axis range is determined automatically.
      • lowerMargin

        private double lowerMargin
        The lower margin. This is a percentage that indicates the amount by which the minimum axis value is "less than" the minimum data value when the axis range is determined automatically.
      • fixedAutoRange

        private double fixedAutoRange
        If this value is positive, the amount is subtracted from the maximum data value to determine the lower axis range. This can be used to provide a fixed "window" on dynamic data.
      • autoTickUnitSelection

        private boolean autoTickUnitSelection
        Flag that indicates whether or not the tick unit is selected automatically.
      • standardTickUnits

        private TickUnitSource standardTickUnits
        The standard tick units for the axis.
      • autoTickIndex

        private int autoTickIndex
        An index into an array of standard tick values.
      • minorTickCount

        private int minorTickCount
        The number of minor ticks per major tick unit. This is an override field, if the value is > 0 it is used, otherwise the axis refers to the minorTickCount in the current tickUnit.
      • verticalTickLabels

        private boolean verticalTickLabels
        A flag indicating whether or not tick labels are rotated to vertical.
    • Constructor Detail

      • ValueAxis

        protected ValueAxis​(java.lang.String label,
                            TickUnitSource standardTickUnits)
        Constructs a value axis.
        Parameters:
        label - the axis label (null permitted).
        standardTickUnits - the source for standard tick units (null permitted).
    • Method Detail

      • isVerticalTickLabels

        public boolean isVerticalTickLabels()
        Returns true if the tick labels should be rotated (to vertical), and false otherwise.
        Returns:
        true or false.
        See Also:
        setVerticalTickLabels(boolean)
      • setVerticalTickLabels

        public void setVerticalTickLabels​(boolean flag)
        Sets the flag that controls whether the tick labels are displayed vertically (that is, rotated 90 degrees from horizontal). If the flag is changed, an AxisChangeEvent is sent to all registered listeners.
        Parameters:
        flag - the flag.
        See Also:
        isVerticalTickLabels()
      • isPositiveArrowVisible

        public boolean isPositiveArrowVisible()
        Returns a flag that controls whether or not the axis line has an arrow drawn that points in the positive direction for the axis.
        Returns:
        A boolean.
        See Also:
        setPositiveArrowVisible(boolean)
      • setPositiveArrowVisible

        public void setPositiveArrowVisible​(boolean visible)
        Sets a flag that controls whether or not the axis lines has an arrow drawn that points in the positive direction for the axis, and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        visible - the flag.
        See Also:
        isPositiveArrowVisible()
      • isNegativeArrowVisible

        public boolean isNegativeArrowVisible()
        Returns a flag that controls whether or not the axis line has an arrow drawn that points in the negative direction for the axis.
        Returns:
        A boolean.
        See Also:
        setNegativeArrowVisible(boolean)
      • setNegativeArrowVisible

        public void setNegativeArrowVisible​(boolean visible)
        Sets a flag that controls whether or not the axis lines has an arrow drawn that points in the negative direction for the axis, and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        visible - the flag.
        See Also:
        setNegativeArrowVisible(boolean)
      • getUpArrow

        public java.awt.Shape getUpArrow()
        Returns a shape that can be displayed as an arrow pointing upwards at the end of an axis line.
        Returns:
        A shape (never null).
        See Also:
        setUpArrow(Shape)
      • setUpArrow

        public void setUpArrow​(java.awt.Shape arrow)
        Sets the shape that can be displayed as an arrow pointing upwards at the end of an axis line and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        arrow - the arrow shape (null not permitted).
        See Also:
        getUpArrow()
      • getDownArrow

        public java.awt.Shape getDownArrow()
        Returns a shape that can be displayed as an arrow pointing downwards at the end of an axis line.
        Returns:
        A shape (never null).
        See Also:
        setDownArrow(Shape)
      • setDownArrow

        public void setDownArrow​(java.awt.Shape arrow)
        Sets the shape that can be displayed as an arrow pointing downwards at the end of an axis line and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        arrow - the arrow shape (null not permitted).
        See Also:
        getDownArrow()
      • getLeftArrow

        public java.awt.Shape getLeftArrow()
        Returns a shape that can be displayed as an arrow pointing left at the end of an axis line.
        Returns:
        A shape (never null).
        See Also:
        setLeftArrow(Shape)
      • setLeftArrow

        public void setLeftArrow​(java.awt.Shape arrow)
        Sets the shape that can be displayed as an arrow pointing left at the end of an axis line and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        arrow - the arrow shape (null not permitted).
        See Also:
        getLeftArrow()
      • getRightArrow

        public java.awt.Shape getRightArrow()
        Returns a shape that can be displayed as an arrow pointing right at the end of an axis line.
        Returns:
        A shape (never null).
        See Also:
        setRightArrow(Shape)
      • setRightArrow

        public void setRightArrow​(java.awt.Shape arrow)
        Sets the shape that can be displayed as an arrow pointing rightwards at the end of an axis line and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        arrow - the arrow shape (null not permitted).
        See Also:
        getRightArrow()
      • drawAxisLine

        protected void drawAxisLine​(java.awt.Graphics2D g2,
                                    double cursor,
                                    java.awt.geom.Rectangle2D dataArea,
                                    RectangleEdge edge)
        Draws an axis line at the current cursor position and edge.
        Overrides:
        drawAxisLine in class Axis
        Parameters:
        g2 - the graphics device (null not permitted).
        cursor - the cursor position.
        dataArea - the data area.
        edge - the edge.
      • calculateAnchorPoint

        protected float[] calculateAnchorPoint​(ValueTick tick,
                                               double cursor,
                                               java.awt.geom.Rectangle2D dataArea,
                                               RectangleEdge edge)
        Calculates the anchor point for a tick label.
        Parameters:
        tick - the tick.
        cursor - the cursor.
        dataArea - the data area.
        edge - the edge on which the axis is drawn.
        Returns:
        The x and y coordinates of the anchor point.
      • drawTickMarksAndLabels

        protected AxisState drawTickMarksAndLabels​(java.awt.Graphics2D g2,
                                                   double cursor,
                                                   java.awt.geom.Rectangle2D plotArea,
                                                   java.awt.geom.Rectangle2D dataArea,
                                                   RectangleEdge edge)
        Draws the axis line, tick marks and tick mark labels.
        Parameters:
        g2 - the graphics device (null not permitted).
        cursor - the cursor.
        plotArea - the plot area (null not permitted).
        dataArea - the data area (null not permitted).
        edge - the edge that the axis is aligned with (null not permitted).
        Returns:
        The width or height used to draw the axis.
      • reserveSpace

        public AxisSpace reserveSpace​(java.awt.Graphics2D g2,
                                      Plot plot,
                                      java.awt.geom.Rectangle2D plotArea,
                                      RectangleEdge edge,
                                      AxisSpace space)
        Returns the space required to draw the axis.
        Specified by:
        reserveSpace in class Axis
        Parameters:
        g2 - the graphics device.
        plot - the plot that the axis belongs to.
        plotArea - the area within which the plot should be drawn.
        edge - the axis location.
        space - the space already reserved (for other axes).
        Returns:
        The space required to draw the axis (including pre-reserved space).
      • findMaximumTickLabelHeight

        protected double findMaximumTickLabelHeight​(java.util.List ticks,
                                                    java.awt.Graphics2D g2,
                                                    java.awt.geom.Rectangle2D drawArea,
                                                    boolean vertical)
        A utility method for determining the height of the tallest tick label.
        Parameters:
        ticks - the ticks.
        g2 - the graphics device.
        drawArea - the area within which the plot and axes should be drawn.
        vertical - a flag that indicates whether or not the tick labels are 'vertical'.
        Returns:
        The height of the tallest tick label.
      • findMaximumTickLabelWidth

        protected double findMaximumTickLabelWidth​(java.util.List ticks,
                                                   java.awt.Graphics2D g2,
                                                   java.awt.geom.Rectangle2D drawArea,
                                                   boolean vertical)
        A utility method for determining the width of the widest tick label.
        Parameters:
        ticks - the ticks.
        g2 - the graphics device.
        drawArea - the area within which the plot and axes should be drawn.
        vertical - a flag that indicates whether or not the tick labels are 'vertical'.
        Returns:
        The width of the tallest tick label.
      • isInverted

        public boolean isInverted()
        Returns a flag that controls the direction of values on the axis.

        For a regular axis, values increase from left to right (for a horizontal axis) and bottom to top (for a vertical axis). When the axis is 'inverted', the values increase in the opposite direction.

        Returns:
        The flag.
        See Also:
        setInverted(boolean)
      • setInverted

        public void setInverted​(boolean flag)
        Sets a flag that controls the direction of values on the axis, and notifies registered listeners that the axis has changed.
        Parameters:
        flag - the flag.
        See Also:
        isInverted()
      • isAutoRange

        public boolean isAutoRange()
        Returns the flag that controls whether or not the axis range is automatically adjusted to fit the data values.
        Returns:
        The flag.
        See Also:
        setAutoRange(boolean)
      • setAutoRange

        public void setAutoRange​(boolean auto)
        Sets a flag that determines whether or not the axis range is automatically adjusted to fit the data, and notifies registered listeners that the axis has been modified.
        Parameters:
        auto - the new value of the flag.
        See Also:
        isAutoRange()
      • setAutoRange

        protected void setAutoRange​(boolean auto,
                                    boolean notify)
        Sets the auto range attribute. If the notify flag is set, an AxisChangeEvent is sent to registered listeners.
        Parameters:
        auto - the flag.
        notify - notify listeners?
        See Also:
        isAutoRange()
      • getAutoRangeMinimumSize

        public double getAutoRangeMinimumSize()
        Returns the minimum size allowed for the axis range when it is automatically calculated.
        Returns:
        The minimum range.
        See Also:
        setAutoRangeMinimumSize(double)
      • setAutoRangeMinimumSize

        public void setAutoRangeMinimumSize​(double size)
        Sets the auto range minimum size and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        size - the size.
        See Also:
        getAutoRangeMinimumSize()
      • setAutoRangeMinimumSize

        public void setAutoRangeMinimumSize​(double size,
                                            boolean notify)
        Sets the minimum size allowed for the axis range when it is automatically calculated.

        If requested, an AxisChangeEvent is forwarded to all registered listeners.

        Parameters:
        size - the new minimum.
        notify - notify listeners?
      • getDefaultAutoRange

        public Range getDefaultAutoRange()
        Returns the default auto range.
        Returns:
        The default auto range (never null).
        See Also:
        setDefaultAutoRange(Range)
      • setDefaultAutoRange

        public void setDefaultAutoRange​(Range range)
        Sets the default auto range and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        range - the range (null not permitted).
        See Also:
        getDefaultAutoRange()
      • getLowerMargin

        public double getLowerMargin()
        Returns the lower margin for the axis, expressed as a percentage of the axis range. This controls the space added to the lower end of the axis when the axis range is automatically calculated (it is ignored when the axis range is set explicitly). The default value is 0.05 (five percent).
        Returns:
        The lower margin.
        See Also:
        setLowerMargin(double)
      • setLowerMargin

        public void setLowerMargin​(double margin)
        Sets the lower margin for the axis (as a percentage of the axis range) and sends an AxisChangeEvent to all registered listeners. This margin is added only when the axis range is auto-calculated - if you set the axis range manually, the margin is ignored.
        Parameters:
        margin - the margin percentage (for example, 0.05 is five percent).
        See Also:
        getLowerMargin(), setUpperMargin(double)
      • getUpperMargin

        public double getUpperMargin()
        Returns the upper margin for the axis, expressed as a percentage of the axis range. This controls the space added to the lower end of the axis when the axis range is automatically calculated (it is ignored when the axis range is set explicitly). The default value is 0.05 (five percent).
        Returns:
        The upper margin.
        See Also:
        setUpperMargin(double)
      • setUpperMargin

        public void setUpperMargin​(double margin)
        Sets the upper margin for the axis (as a percentage of the axis range) and sends an AxisChangeEvent to all registered listeners. This margin is added only when the axis range is auto-calculated - if you set the axis range manually, the margin is ignored.
        Parameters:
        margin - the margin percentage (for example, 0.05 is five percent).
        See Also:
        getLowerMargin(), setLowerMargin(double)
      • getFixedAutoRange

        public double getFixedAutoRange()
        Returns the fixed auto range.
        Returns:
        The length.
        See Also:
        setFixedAutoRange(double)
      • setFixedAutoRange

        public void setFixedAutoRange​(double length)
        Sets the fixed auto range for the axis.
        Parameters:
        length - the range length.
        See Also:
        getFixedAutoRange()
      • getLowerBound

        public double getLowerBound()
        Returns the lower bound of the axis range.
        Returns:
        The lower bound.
        See Also:
        setLowerBound(double)
      • setLowerBound

        public void setLowerBound​(double min)
        Sets the lower bound for the axis range. An AxisChangeEvent is sent to all registered listeners.
        Parameters:
        min - the new minimum.
        See Also:
        getLowerBound()
      • getUpperBound

        public double getUpperBound()
        Returns the upper bound for the axis range.
        Returns:
        The upper bound.
        See Also:
        setUpperBound(double)
      • setUpperBound

        public void setUpperBound​(double max)
        Sets the upper bound for the axis range, and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        max - the new maximum.
        See Also:
        getUpperBound()
      • getRange

        public Range getRange()
        Returns the range for the axis.
        Returns:
        The axis range (never null).
        See Also:
        setRange(Range)
      • setRange

        public void setRange​(Range range)
        Sets the range for the axis and sends a change event to all registered listeners. As a side-effect, the auto-range flag is set to false.
        Parameters:
        range - the range (null not permitted).
        See Also:
        getRange()
      • setRange

        public void setRange​(Range range,
                             boolean turnOffAutoRange,
                             boolean notify)
        Sets the range for the axis and, if requested, sends a change event to all registered listeners. Furthermore, if turnOffAutoRange is true, the auto-range flag is set to false (normally when setting the axis range manually the caller expects that range to remain in force).
        Parameters:
        range - the range (null not permitted).
        turnOffAutoRange - a flag that controls whether or not the auto range is turned off.
        notify - a flag that controls whether or not listeners are notified.
        See Also:
        getRange()
      • setRange

        public void setRange​(double lower,
                             double upper)
        Sets the range for the axis and sends a change event to all registered listeners. As a side-effect, the auto-range flag is set to false.
        Parameters:
        lower - the lower axis limit.
        upper - the upper axis limit.
        See Also:
        getRange(), setRange(Range)
      • setRangeWithMargins

        public void setRangeWithMargins​(Range range)
        Sets the range for the axis (after first adding the current margins to the specified range) and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        range - the range (null not permitted).
      • setRangeWithMargins

        public void setRangeWithMargins​(Range range,
                                        boolean turnOffAutoRange,
                                        boolean notify)
        Sets the range for the axis after first adding the current margins to the range and, if requested, sends an AxisChangeEvent to all registered listeners. As a side-effect, the auto-range flag is set to false (optional).
        Parameters:
        range - the range (excluding margins, null not permitted).
        turnOffAutoRange - a flag that controls whether or not the auto range is turned off.
        notify - a flag that controls whether or not listeners are notified.
      • setRangeWithMargins

        public void setRangeWithMargins​(double lower,
                                        double upper)
        Sets the axis range (after first adding the current margins to the range) and sends an AxisChangeEvent to all registered listeners. As a side-effect, the auto-range flag is set to false.
        Parameters:
        lower - the lower axis limit.
        upper - the upper axis limit.
      • setRangeAboutValue

        public void setRangeAboutValue​(double value,
                                       double length)
        Sets the axis range, where the new range is 'size' in length, and centered on 'value'.
        Parameters:
        value - the central value.
        length - the range length.
      • isAutoTickUnitSelection

        public boolean isAutoTickUnitSelection()
        Returns a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.
        Returns:
        A flag indicating whether or not the tick unit is automatically selected.
        See Also:
        setAutoTickUnitSelection(boolean)
      • setAutoTickUnitSelection

        public void setAutoTickUnitSelection​(boolean flag)
        Sets a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units. If the flag is changed, registered listeners are notified that the chart has changed.
        Parameters:
        flag - the new value of the flag.
        See Also:
        isAutoTickUnitSelection()
      • setAutoTickUnitSelection

        public void setAutoTickUnitSelection​(boolean flag,
                                             boolean notify)
        Sets a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.
        Parameters:
        flag - the new value of the flag.
        notify - notify listeners?
        See Also:
        isAutoTickUnitSelection()
      • setStandardTickUnits

        public void setStandardTickUnits​(TickUnitSource source)
        Sets the source for obtaining standard tick units for the axis and sends an AxisChangeEvent to all registered listeners. The axis will try to select the smallest tick unit from the source that does not cause the tick labels to overlap (see also the setAutoTickUnitSelection(boolean) method.
        Parameters:
        source - the source for standard tick units (null permitted).
        See Also:
        getStandardTickUnits()
      • getMinorTickCount

        public int getMinorTickCount()
        Returns the number of minor tick marks to display.
        Returns:
        The number of minor tick marks to display.
        See Also:
        setMinorTickCount(int)
      • setMinorTickCount

        public void setMinorTickCount​(int count)
        Sets the number of minor tick marks to display, and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        count - the count.
        See Also:
        getMinorTickCount()
      • valueToJava2D

        public abstract double valueToJava2D​(double value,
                                             java.awt.geom.Rectangle2D area,
                                             RectangleEdge edge)
        Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified dataArea.

        Note that it is possible for the coordinate to fall outside the area.

        Parameters:
        value - the data value.
        area - the area for plotting the data.
        edge - the edge along which the axis lies.
        Returns:
        The Java2D coordinate.
        See Also:
        java2DToValue(double, Rectangle2D, RectangleEdge)
      • lengthToJava2D

        public double lengthToJava2D​(double length,
                                     java.awt.geom.Rectangle2D area,
                                     RectangleEdge edge)
        Converts a length in data coordinates into the corresponding length in Java2D coordinates.
        Parameters:
        length - the length.
        area - the plot area.
        edge - the edge along which the axis lies.
        Returns:
        The length in Java2D coordinates.
      • java2DToValue

        public abstract double java2DToValue​(double java2DValue,
                                             java.awt.geom.Rectangle2D area,
                                             RectangleEdge edge)
        Converts a coordinate in Java2D space to the corresponding data value, assuming that the axis runs along one edge of the specified dataArea.
        Parameters:
        java2DValue - the coordinate in Java2D space.
        area - the area in which the data is plotted.
        edge - the edge along which the axis lies.
        Returns:
        The data value.
        See Also:
        valueToJava2D(double, Rectangle2D, RectangleEdge)
      • autoAdjustRange

        protected abstract void autoAdjustRange()
        Automatically sets the axis range to fit the range of values in the dataset. Sometimes this can depend on the renderer used as well (for example, the renderer may "stack" values, requiring an axis range greater than otherwise necessary).
      • centerRange

        public void centerRange​(double value)
        Centers the axis range about the specified value and sends an AxisChangeEvent to all registered listeners.
        Parameters:
        value - the center value.
      • resizeRange

        public void resizeRange​(double percent)
        Increases or decreases the axis range by the specified percentage about the central value and sends an AxisChangeEvent to all registered listeners.

        To double the length of the axis range, use 200% (2.0). To halve the length of the axis range, use 50% (0.5).

        Parameters:
        percent - the resize factor.
        See Also:
        resizeRange(double, double)
      • resizeRange

        public void resizeRange​(double percent,
                                double anchorValue)
        Increases or decreases the axis range by the specified percentage about the specified anchor value and sends an AxisChangeEvent to all registered listeners.

        To double the length of the axis range, use 200% (2.0). To halve the length of the axis range, use 50% (0.5).

        Parameters:
        percent - the resize factor.
        anchorValue - the new central value after the resize.
        See Also:
        resizeRange(double)
      • resizeRange2

        public void resizeRange2​(double percent,
                                 double anchorValue)
        Increases or decreases the axis range by the specified percentage about the specified anchor value and sends an AxisChangeEvent to all registered listeners.

        To double the length of the axis range, use 200% (2.0). To halve the length of the axis range, use 50% (0.5).

        Parameters:
        percent - the resize factor.
        anchorValue - the new central value after the resize.
        See Also:
        resizeRange(double)
      • zoomRange

        public void zoomRange​(double lowerPercent,
                              double upperPercent)
        Zooms in on the current range.
        Parameters:
        lowerPercent - the new lower bound.
        upperPercent - the new upper bound.
      • pan

        public void pan​(double percent)
        Slides the axis range by the specified percentage.
        Parameters:
        percent - the percentage.
      • getAutoTickIndex

        protected int getAutoTickIndex()
        Returns the auto tick index.
        Returns:
        The auto tick index.
        See Also:
        setAutoTickIndex(int)
      • setAutoTickIndex

        protected void setAutoTickIndex​(int index)
        Sets the auto tick index.
        Parameters:
        index - the new value.
        See Also:
        getAutoTickIndex()
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests the axis for equality with an arbitrary object.
        Overrides:
        equals in class Axis
        Parameters:
        obj - the object (null permitted).
        Returns:
        true or false.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of the object.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class Axis
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if some component of the axis does not support cloning.
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream stream)
                          throws java.io.IOException
        Provides serialization support.
        Parameters:
        stream - the output stream.
        Throws:
        java.io.IOException - if there is an I/O error.
      • readObject

        private void readObject​(java.io.ObjectInputStream stream)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Provides serialization support.
        Parameters:
        stream - the input stream.
        Throws:
        java.io.IOException - if there is an I/O error.
        java.lang.ClassNotFoundException - if there is a classpath problem.