com.jxml.quick.model.qjml
Class QMCloneable

java.lang.Object
  |
  +--com.jxml.quick.model.qjml.QMCloneable
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
QMAccess, QMARef, QMAttributes, QMCoin, QMContentModel, QMElements, QMEnum, QMExcludes, QMExtends, QMImplements, QMQJML, QMRange, QMRem, QMTargetClass, QMTargetEditor, QMTargetFactory

public class QMCloneable
extends Object
implements Cloneable

A publicly cloneable object.

The clone() method on java.lang.Object is protected, while the clone() method on QMCloneable is public.

Additional static support methods are provided.

One of the assumptions made here is that objects which extend QMCloneable have clones which also extend QMCloneable.


Constructor Summary
QMCloneable()
           
 
Method Summary
 Object clone()
           Returns a copy of this object.
static ArrayList clone(ArrayList l)
           Deep clone a list of QMCloneable objects.
static QMCloneable clone(QMCloneable c)
          Clone a QMCloneable object, but first check for null!
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QMCloneable

public QMCloneable()
Method Detail

clone

public Object clone()

Returns a copy of this object. This is a public method which overrides the protected method on java.lang.Object.

It is expected that this method will be overridden by classes which extend QMCloneable, the result being a deep clone.

Overrides:
clone in class Object

clone

public static ArrayList clone(ArrayList l)

Deep clone a list of QMCloneable objects. A convenience method that clones an ArrayList and its contents.

It is assumed that all the objects in the list extend QMCloneable.


clone

public static QMCloneable clone(QMCloneable c)
Clone a QMCloneable object, but first check for null!