/**
  * Returns a clone of this renderer.
  *
  * @return A clone of this renderer.
  * @throws CloneNotSupportedException if there is a problem creating the clone.
  */
 public Object clone() throws CloneNotSupportedException {
   XYBlockRenderer clone = (XYBlockRenderer) super.clone();
   if (this.paintScale instanceof PublicCloneable) {
     PublicCloneable pc = (PublicCloneable) this.paintScale;
     clone.paintScale = (PaintScale) pc.clone();
   }
   return clone;
 }
 /**
  * Returns an independent copy of the dataset.  Note that:
  * <ul>
  * <li>the underlying dataset is only cloned if it implements the
  * {@link PublicCloneable} interface;</li>
  * <li>the listeners registered with this dataset are not carried over to
  * the cloned dataset.</li>
  * </ul>
  *
  * @return An independent copy of the dataset.
  *
  * @throws CloneNotSupportedException if the dataset cannot be cloned for
  *         any reason.
  */
 public Object clone() throws CloneNotSupportedException {
     SlidingGanttCategoryDataset clone
             = (SlidingGanttCategoryDataset) super.clone();
     if (this.underlying instanceof PublicCloneable) {
         PublicCloneable pc = (PublicCloneable) this.underlying;
         clone.underlying = (GanttCategoryDataset) pc.clone();
     }
     return clone;
 }
예제 #3
0
 /**
  * Returns a clone of this block.
  *
  * @return A clone.
  * @throws CloneNotSupportedException if there is a problem creating the clone.
  */
 @Override
 public Object clone() throws CloneNotSupportedException {
   AbstractBlock clone = (AbstractBlock) super.clone();
   clone.bounds = (Rectangle2D) ShapeUtilities.clone(this.bounds);
   if (this.frame instanceof PublicCloneable) {
     PublicCloneable pc = (PublicCloneable) this.frame;
     clone.frame = (BlockFrame) pc.clone();
   }
   return clone;
 }
  /**
   * Returns an independent copy of the renderer. The <code>plot</code> reference is shallow copied.
   *
   * @return A clone.
   * @throws CloneNotSupportedException can be thrown if one of the objects belonging to the
   *     renderer does not support cloning (for example, an item label generator).
   */
  public Object clone() throws CloneNotSupportedException {

    AbstractCategoryItemRenderer clone = (AbstractCategoryItemRenderer) super.clone();

    if (this.itemLabelGenerator != null) {
      if (this.itemLabelGenerator instanceof PublicCloneable) {
        PublicCloneable pc = (PublicCloneable) this.itemLabelGenerator;
        clone.itemLabelGenerator = (CategoryItemLabelGenerator) pc.clone();
      } else {
        throw new CloneNotSupportedException("ItemLabelGenerator not cloneable.");
      }
    }

    if (this.itemLabelGeneratorList != null) {
      clone.itemLabelGeneratorList = (ObjectList) this.itemLabelGeneratorList.clone();
    }

    if (this.baseItemLabelGenerator != null) {
      if (this.baseItemLabelGenerator instanceof PublicCloneable) {
        PublicCloneable pc = (PublicCloneable) this.baseItemLabelGenerator;
        clone.baseItemLabelGenerator = (CategoryItemLabelGenerator) pc.clone();
      } else {
        throw new CloneNotSupportedException("ItemLabelGenerator not cloneable.");
      }
    }

    if (this.toolTipGenerator != null) {
      if (this.toolTipGenerator instanceof PublicCloneable) {
        PublicCloneable pc = (PublicCloneable) this.toolTipGenerator;
        clone.toolTipGenerator = (CategoryToolTipGenerator) pc.clone();
      } else {
        throw new CloneNotSupportedException("Tool tip generator not cloneable.");
      }
    }

    if (this.toolTipGeneratorList != null) {
      clone.toolTipGeneratorList = (ObjectList) this.toolTipGeneratorList.clone();
    }

    if (this.baseToolTipGenerator != null) {
      if (this.baseToolTipGenerator instanceof PublicCloneable) {
        PublicCloneable pc = (PublicCloneable) this.baseToolTipGenerator;
        clone.baseToolTipGenerator = (CategoryToolTipGenerator) pc.clone();
      } else {
        throw new CloneNotSupportedException("Base tool tip generator not cloneable.");
      }
    }

    if (this.itemURLGenerator != null) {
      if (this.itemURLGenerator instanceof PublicCloneable) {
        PublicCloneable pc = (PublicCloneable) this.itemURLGenerator;
        clone.itemURLGenerator = (CategoryURLGenerator) pc.clone();
      } else {
        throw new CloneNotSupportedException("Item URL generator not cloneable.");
      }
    }

    if (this.itemURLGeneratorList != null) {
      clone.itemURLGeneratorList = (ObjectList) this.itemURLGeneratorList.clone();
    }

    if (this.baseItemURLGenerator != null) {
      if (this.baseItemURLGenerator instanceof PublicCloneable) {
        PublicCloneable pc = (PublicCloneable) this.baseItemURLGenerator;
        clone.baseItemURLGenerator = (CategoryURLGenerator) pc.clone();
      } else {
        throw new CloneNotSupportedException("Base item URL generator not cloneable.");
      }
    }

    return clone;
  }