UniVista.support
Class Study

java.lang.Object
  |
  +--UniVista.support.Study
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class Study
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

holds information related to a Study. This includes overrided defaults as well as screen information

See Also:
Serialized Form

Constructor Summary
Study(Code code)
          creates a new study for the passed code
 
Method Summary
 Screen addNewScreen()
          insert a new screen into the study
 java.lang.Object clone()
          clones a study
 void duplicate(Study toDup)
          duplicates a study.
 boolean equals(java.lang.Object obj)
          tests two studies for equality
 Code getCode()
          get the Code the study is associated with
 java.lang.String getDescription()
          get the study description
 java.lang.String getDocumentationURL()
          get the documentation URL
 java.lang.String getInitialScreen()
          get the initial screen name
 GroupNode getScreenGroup()
          get the screen grouping
 ScreenHash getScreens()
          get the screens involved with the study
 java.lang.String getStudyName()
          get the study screen name
 java.lang.String getUniqueScreenName()
          return a unique screen identifier for this Study
 Variable getVariable(java.lang.String varName)
          retrieve a variable by name.
 VariableHash getVariables()
          Conveniently return all the variables in a VariableHash.
 java.util.Vector getVariablesPlaced()
          Notify that it has been already placed within a Screen.
 java.lang.String getVisibleStudyName()
          get the visible name
 boolean isVariablePlaced(Variable var)
          Indicates if an instance of the item has already been placed within a Screen.
 void setCode(Code newCode)
          change the Code the study is associated with
 void setDescription(java.lang.String newd)
          set the study description
 void setDocumentationURL(java.lang.String newdoc)
          set the documentation URL
 void setInitialScreen(java.lang.String s)
          set the initial screen name
 void setScreenGroup(GroupNode newGrouping)
          set the screen grouping
 void setScreens(ScreenHash newScreens)
          set the screen mappings for the study
 void setStudyName(java.lang.String s)
          set the study name
 void setVariablePlaced(Variable var)
           
 void setVariableUnplaced(Variable var)
           
 void setVisibleStudyName(java.lang.String s)
          set the visible name
 void updateScreenLinkMappings()
          go through all of the screens and reset the Screen link object references
 void updateScreens()
          Updates the screenGrouping with Strings that are actually used by the Screens.
 void updateScreenVariableMappings()
          go through all of the screens and remap the Variables in the VariableScreenObjects to their corresponding Variable object references
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Study

public Study(Code code)
creates a new study for the passed code
Method Detail

addNewScreen

public Screen addNewScreen()
insert a new screen into the study

clone

public java.lang.Object clone()
clones a study
Overrides:
clone in class java.lang.Object

duplicate

public void duplicate(Study toDup)
duplicates a study. Note it does not clone the Code...the code is an object reference only.

equals

public boolean equals(java.lang.Object obj)
tests two studies for equality
Overrides:
equals in class java.lang.Object

getCode

public Code getCode()
get the Code the study is associated with

getDescription

public java.lang.String getDescription()
get the study description

getDocumentationURL

public java.lang.String getDocumentationURL()
get the documentation URL

getInitialScreen

public java.lang.String getInitialScreen()
get the initial screen name

getScreenGroup

public GroupNode getScreenGroup()
get the screen grouping

getScreens

public ScreenHash getScreens()
get the screens involved with the study

getStudyName

public java.lang.String getStudyName()
get the study screen name

getUniqueScreenName

public java.lang.String getUniqueScreenName()
return a unique screen identifier for this Study

getVariable

public Variable getVariable(java.lang.String varName)
retrieve a variable by name. First we look to see if the variable has been overridden in the study. If not, we go to the code to look for it.

getVariables

public VariableHash getVariables()
Conveniently return all the variables in a VariableHash.

getVisibleStudyName

public java.lang.String getVisibleStudyName()
get the visible name

setCode

public void setCode(Code newCode)
change the Code the study is associated with

setDescription

public void setDescription(java.lang.String newd)
set the study description

setDocumentationURL

public void setDocumentationURL(java.lang.String newdoc)
set the documentation URL

setInitialScreen

public void setInitialScreen(java.lang.String s)
set the initial screen name

setScreenGroup

public void setScreenGroup(GroupNode newGrouping)
set the screen grouping

setScreens

public void setScreens(ScreenHash newScreens)
set the screen mappings for the study

setStudyName

public void setStudyName(java.lang.String s)
set the study name

setVisibleStudyName

public void setVisibleStudyName(java.lang.String s)
set the visible name

updateScreenLinkMappings

public void updateScreenLinkMappings()
go through all of the screens and reset the Screen link object references

updateScreenVariableMappings

public void updateScreenVariableMappings()
go through all of the screens and remap the Variables in the VariableScreenObjects to their corresponding Variable object references

isVariablePlaced

public boolean isVariablePlaced(Variable var)
Indicates if an instance of the item has already been placed within a Screen.

getVariablesPlaced

public java.util.Vector getVariablesPlaced()
Notify that it has been already placed within a Screen.

setVariablePlaced

public void setVariablePlaced(Variable var)

setVariableUnplaced

public void setVariableUnplaced(Variable var)

updateScreens

public void updateScreens()
Updates the screenGrouping with Strings that are actually used by the Screens. This is not elegant at all, but that is the nature of these GroupNodes.
See Also:
GroupNode