org.hl7.meta
Interface CloneClass

All Superinterfaces:
java.lang.Cloneable, Metadata
All Known Implementing Classes:
CloneClassAdapter

public interface CloneClass
extends Metadata

A read only interface to the class CloneClassImpl, which represents an HL7 v3 clone class inside a message type.

Author:
Skirmantas Kligys (skirmis@hotmail.com), Eric Chen

Method Summary
 int countStructuralAttributes()
          Counts structural attributes contained in this clone class.
 java.lang.String[] getChoices()
          Returns the list of 'choices'.
 java.lang.String[] getClasses()
           
 java.lang.String getFullName()
          Returns the clone class full path name, unique in a message type.
 RimObject getInstance()
          Returns an instance of the RIM class name from which this clone class was derived.
 java.lang.String getName()
          Returns the clone class name, unique in a message type.
 CloneClass getParent()
          Not yet implemented
 java.lang.String getRimClass()
          Returns name of the RIM class name from which this clone class was derived.
 CloneClass getSpecialization(java.lang.String cloneCode)
           
 Attribute getStructuralAttribute(int index)
          Indexed accessor to structural attributes.
 boolean isAbstract()
          Returns the flag indicating if the clone class is abstract.
 java.util.Iterator<Feature> iterateChildren()
          Returns the iterator of attributes and associations contained in this clone class.
 java.util.Iterator<Attribute> iterateExtraAttributes()
          Counts extra attributes contained in this clone class.
 java.util.Iterator<Attribute> iterateStructuralAttributes()
          Returns the iterator of structural attributes contained in this clone class.
 void setFullName(java.lang.String s)
          Set the clone class full path name, unique in a message type.
 

Method Detail

getName

java.lang.String getName()
Returns the clone class name, unique in a message type.

Returns:
the clone class name, known as clone code

getFullName

java.lang.String getFullName()
Returns the clone class full path name, unique in a message type.

Returns:
the clone class full path name

setFullName

void setFullName(java.lang.String s)
Set the clone class full path name, unique in a message type.


getRimClass

java.lang.String getRimClass()
Returns name of the RIM class name from which this clone class was derived.

Returns:
the RIM class name

getClasses

java.lang.String[] getClasses()
Returns:
A list of the partially qualified or unqualifed class names that should be instantiaed for this CloneClass. The list is sorted from most specific class name to most general. The last name on the list should always be the same as the value returned from getRimClass().

getSpecialization

CloneClass getSpecialization(java.lang.String cloneCode)
Parameters:
cloneCode - the name of the specialization of this CloneClass.
Returns:
The specialization of this CloneClass with the given name.

getInstance

RimObject getInstance()
                      throws FactoryException
Returns an instance of the RIM class name from which this clone class was derived.

Returns:
the RIM object
Throws:
FactoryException - if creating a RIM object failed

getChoices

java.lang.String[] getChoices()
Returns the list of 'choices'. Should be redone as a choice between metadata classes.

Returns:
the list of choices

isAbstract

boolean isAbstract()
Returns the flag indicating if the clone class is abstract.

Returns:
abstract indicator

iterateChildren

java.util.Iterator<Feature> iterateChildren()
Returns the iterator of attributes and associations contained in this clone class.

Returns:
the iterator of children

iterateStructuralAttributes

java.util.Iterator<Attribute> iterateStructuralAttributes()
Returns the iterator of structural attributes contained in this clone class.

Returns:
the iterator of structural attributes

countStructuralAttributes

int countStructuralAttributes()
Counts structural attributes contained in this clone class.

Returns:
the number of structural attributes

getStructuralAttribute

Attribute getStructuralAttribute(int index)
Indexed accessor to structural attributes.

Parameters:
index - index of structural attribute to return
Returns:
the reference to the structural attribute at the index

iterateExtraAttributes

java.util.Iterator<Attribute> iterateExtraAttributes()
Counts extra attributes contained in this clone class.

Returns:
the iterator of extra attributes

getParent

CloneClass getParent()
Not yet implemented

Returns: