Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD

Interface ncsa.horizon.util.SafeAsMetadata

Subinterfaces:
AxisPosFormatter
Implementing Classes:
AdjustableSegment, AdjustableSwath, MoveableVoxel, AdjustableVolume, AdjustableSlice

public abstract interface SafeAsMetadata
extends ExplicitlyCloneable
an interface to indicate that an object is safe for use in a Metadata list.

A Metadata object maintains a default list of metadata values that in principle should be protected from updates by other objects. This cannot be guaranteed if the default value returned is a reference to the same updatable object held in the default list. In this case, the metadata client could change the internal state of the metadatum which would affect all future accesses to it via the Metadata list. Note that this problem does not exist when the metadatum is of a non-updatable class, such as Double or Integer.

This interface can be used to identify an updatable class that is safe for use as a metadata value. If the user requests a SafeAsMetadata object as a value from the default list in a Metadata list, the Metadata object will first clone the value and return the copy.

Because this interface extends ExplicitlyCloneable, implementers must implement the clone() method. This allows the object to be cloned without the CloneNotSupportedException being thrown.



Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD