SORTIE Java Interface  1
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
sortie.data.funcgroups.disturbance.EpisodicMortality Class Reference

Corresponds to the clDisturbance class. More...

Inheritance diagram for sortie.data.funcgroups.disturbance.EpisodicMortality:
sortie.data.funcgroups.Behavior

Public Member Functions

 EpisodicMortality (GUIManager oManager, BehaviorTypeBase oParent, String sDescriptor, String sParFileTag, String sXMLRootString) throws ModelException
 Constructor. More...
 
void validateData (TreePopulation oPop) throws ModelException
 Validates the data prior to writing it. More...
 
int getNumberMortalityEpisodes ()
 Gets number of mortality episode events. More...
 
HarvestData getMortalityEpisode (int iIndex)
 Gets a particular mortality episode event. More...
 
void clearMortalityEpisodes ()
 Clears mortality episode events. More...
 
void addMortalityEpisode (HarvestData oEpisode)
 Adds a mortality episode event. More...
 
void writeXML (BufferedWriter jOut, TreePopulation oPop) throws ModelException
 Writes the episodic mortality data for the parameter file. More...
 
void readXMLParentTag (String sXMLTag, Attributes oAttributes) throws ModelException
 Accepts an XML parent tag (empty, no data) from the parser. More...
 
boolean setSingleValueByXMLTag (String sXMLTag, String sXMLParentTag, Attributes oAttributes, Object oData) throws ModelException
 This method looks for the following tags: More...
 
void changeOfSpecies (int iOldNumSpecies, int[] p_iIndexer, String[] p_sNewSpecies) throws ModelException
 Checks episodic disturbance settings upon change of species. More...
 
boolean setVectorValueByXMLTag (String sXMLTag, String sXMLParentTag, ArrayList< String > p_oData, String[] p_sChildXMLTags, boolean[] p_bAppliesTo, org.xml.sax.Attributes oParentAttributes, org.xml.sax.Attributes[] p_oAttributes) throws ModelException
 Reads seedling mortality rate parameters for episodic mortality. More...
 
void copySpecies (int iSpeciesCopyFrom, int iSpeciesCopyTo) throws ModelException
 Updates parameters when species are copied. More...
 
void changeOfPlotResolution (float fOldX, float fOldY, float fNewX, float fNewY) throws ModelException
 Removes cells from disturbance events that are outside the plot. More...
 
void checkForGridCellResolutionChange () throws ModelException
 Checks for a user-triggered harvest or mortality episode grid resolution change. More...
 
void callSetupDialog (JDialog jParent, MainWindow oMain)
 Call the episodic events dialog. More...
 
void writeParametersToTextFile (FileWriter jOut, TreePopulation oPop) throws IOException
 Override to write something useful to the parameters file. More...
 
- Public Member Functions inherited from sortie.data.funcgroups.Behavior
GUIManager getGUIManager ()
 
 Behavior (GUIManager oManager, BehaviorTypeBase oParent, String sDescriptor, String sParFileTag, String sXMLRootString, String sHelpFileString)
 Constructor. More...
 
abstract void validateData (TreePopulation oPop) throws ModelException
 Override this to implement data checking. More...
 
void callSetupDialog (JDialog jParent, MainWindow oMain)
 Override this to call a specific setup dialog for this behavior. More...
 
int getNumberOfDataObjects ()
 Gets the number of managed data objects. More...
 
ModelData getDataObject (int iInd)
 Gets the managed data object at a particular index. More...
 
void validate () throws ModelException
 Behavior performs an internal check to make sure its settings are consistent and logical. More...
 
void setListPosition (int iListPosition) throws ModelException
 Sets the behavior list position. More...
 
int getListPosition ()
 Gets the behavior list position. More...
 
String getXMLParametersRoot ()
 Gets the XML parameter root string. More...
 
int getNumberNewDataMembers ()
 
DataMember getNewTreeDataMember (int iIndex) throws ModelException
 
void setCanApplyTo (int iType, boolean bCanApply)
 Sets whether this behavior can apply to a given tree type. More...
 
String getParameterFileBehaviorName ()
 Gets the parameter file name for this behavior. More...
 
double getVersion ()
 Gets behavior's parameter file version. More...
 
double getMinimumVersion ()
 Gets behavior's parameter file minimum version. More...
 
String getDescriptor ()
 Gets the descriptor string. More...
 
String getHelpFileString ()
 Gets the help file UD. More...
 
void setDescriptor (String s)
 Sets the descriptor string. More...
 
int getNumberOfCombos ()
 Gets the number of species/type combos to which this behavior applies. More...
 
int getNumberOfGrids ()
 Gets the number of grids to which this behavior applies. More...
 
void deleteSpeciesTypeCombo (int iIndex) throws ModelException
 Deletes the SpeciesTypeCombo at the given index. More...
 
void deleteSpeciesTypeCombo (SpeciesTypeCombo oCombo) throws ModelException
 Deletes a SpeciesTypeCombo. More...
 
void clearSpeciesTypeCombos ()
 Empties the species/type combo list. More...
 
SpeciesTypeCombo getSpeciesTypeCombo (int iIndex) throws ModelException
 Returns the SpeciesTypeCombo at the given index of the species/type combo list. More...
 
Grid getGrid (int iIndex) throws ModelException
 Returns the Grid at the given index of the grid applies to list. More...
 
ModelData getRequiredData (int iIndex)
 Returns the required data object at a given index. More...
 
int getNumberOfRequiredDataObjects ()
 Gets the number of required data objects for this behavior. More...
 
void addSpeciesTypeCombo (SpeciesTypeCombo oCombo) throws ModelException
 Adds a new species/type combo to the list to which this behavior applies. More...
 
void addGrid (Grid oGrid, boolean bReplace)
 Adds a new Grid to the list to which this behavior applies. More...
 
void addRequiredData (ModelData oData)
 Adds a piece of required data to the list. More...
 
boolean [] getWhichSpeciesUsed (TreePopulation oPop)
 Returns which species to which this behavior is applied. More...
 
boolean setVectorValueByXMLTag (String sXMLTag, String sXMLParentTag, ArrayList< String > p_oData, String[] p_sChildXMLTags, boolean[] p_bAppliesTo, Attributes oParentAttributes, Attributes[] p_oAttributes) throws ModelException
 Sets a data vector's value. More...
 
boolean setSingleValueByXMLTag (String sXMLTag, String sXMLParentTag, Attributes oAttributes, Object oData) throws ModelException
 Sets a data object's value. More...
 
ModelData findObjectByXMLTag (String sXMLTag)
 Finds an object based on its XML tag. More...
 
void copySpecies (int iSpeciesCopyFrom, int iSpeciesCopyTo) throws ModelException
 Copies one species to another. More...
 
void writeXML (BufferedWriter jOut, TreePopulation oPop) throws ModelException
 Writes the XML data to a parameter file for the behaviors owned by this object. More...
 
void writeSpeciesSpecificValue (BufferedWriter jOut, ModelVector p_oData, TreePopulation oPop) throws java.io.IOException, ModelException
 Writes a set of species-specific float values to a parameter file. More...
 
void writeSpeciesSpecificValue (BufferedWriter jOut, ModelVector p_oData, TreePopulation oPop, boolean[] p_bFlags) throws java.io.IOException, ModelException
 Writes a set of species-specific values to a parameter file for a certain subset of species. More...
 
void readXMLParentTag (String sXMLTag, Attributes oAttributes) throws ModelException
 Accepts an XML parent tag (empty, no data) from the parser. More...
 
void changeOfSpeciesName (String sOldSpecies, String sNewSpecies)
 Performs any necessary tasks associated with changing the name of a species. More...
 
void changeOfSpecies (int iOldNumSpecies, int[] p_iIndexer, String[] p_sNewSpecies) throws ModelException
 Triggered when there is a change in the species list. More...
 
boolean getMustHaveTrees ()
 Gets whether this behavior must have trees. More...
 
ModelData findObjectByDescriptor (String sDescriptor)
 Finds an object based on its descriptor. More...
 
void writeBehaviorNode (BufferedWriter out, TreePopulation oPop) throws ModelException
 Writes behavior tags to the parameter file. More...
 
ArrayList< BehaviorParameterDisplayformatDataForDisplay (TreePopulation oPop)
 Formats data for display in a set of JTables. More...
 
String getAppliedToForDisplay (TreePopulation oPop)
 Get which species/types this behavior applies to, in a display-friendly format truncated to 250 chars. More...
 
void readDataFromDisplay (ArrayList< BehaviorParameterDisplay > oData, TreePopulation oPop) throws ModelException
 Reads in data from the parameter display window. More...
 
boolean canBeDuplicated ()
 Whether or not this behavior can be duplicated in the run. More...
 
void endOfParameterFileRead ()
 Called at the end of the parameter file read process. More...
 
void changeOfPlotResolution (float fOldX, float fOldY, float fNewX, float fNewY) throws ModelException
 Performs any tasks associated with a change of plot resolution. More...
 
setupType getSetupType ()
 
void writeParametersToTextFile (FileWriter jOut, TreePopulation oPop) throws IOException
 Writes the parameters for the behavior to file, using the same system as the basic parameter display and entry system. More...
 

Protected Attributes

ArrayList< HarvestDatamp_oMortEpisodes = new ArrayList<HarvestData>(0)
 List of episodic mortality events, held as HarvestData objects (ignoring the cut type) More...
 
float m_iCutRangeLowerBound = -1
 Placeholder for reading cut ranges from an XML file. More...
 
float m_iCutRangeUpperBound = -1
 Placeholder for reading cut ranges from an XML file. More...
 
float m_iCutRangeAmount = -1
 Placeholder for reading cut ranges from an XML file. More...
 
- Protected Attributes inherited from sortie.data.funcgroups.Behavior
GUIManager m_oManager
 GUIManager object. More...
 
BehaviorTypeBase m_oParent
 Parent manager. More...
 
ArrayList< ModelDatamp_oAllData = new ArrayList<ModelData>()
 All data for this object. More...
 
ArrayList< SpeciesTypeCombomp_oTreesAppliesTo = new ArrayList<SpeciesTypeCombo>(0)
 A set of SpeciesTypeCombo objects to which this behavior is applied - or none if it is not applied to trees. More...
 
ArrayList< Integer > mp_iGridsAppliesTo = new ArrayList<Integer>(0)
 A set of hashcodes of the Grids to which this behavior is applied - or none if it is not applied to grids. More...
 
ArrayList< DataMembermp_oNewTreeDataMembers = new ArrayList<DataMember>(0)
 The new tree data members that this behavior adds, above and beyond the basic tree population data members. More...
 
boolean m_bCanBeDuplicated = true
 Whether or not this behavior can have multiple copies in a run or not. More...
 
String m_sDescriptor = ""
 This is what will be displayed as the name of a given behavior in the GUI. More...
 
String m_sParFileTag = ""
 String which is used to identify this behavior in the parameter file. More...
 
String m_sXMLRootString = ""
 XML tag to surround this behavior's data. More...
 
String m_sHelpFileString = ""
 Help file topic identifier string. More...
 
boolean [] mp_bCanApplyToTreeType
 For each tree type, whether or not this behavior can be applied to it. More...
 
double m_fVersion = 1.0
 Version of this behavior. More...
 
double m_fMinVersion = 1.0
 Minimum version of this behavior. More...
 
int m_iListPosition = -1
 This behavior's position in the behavior list. More...
 
setupType m_iBehaviorSetupType
 

Private Member Functions

void doGridSetup (String[] p_sSpeciesNames) throws ModelException
 Sets up the grid objects. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from sortie.data.funcgroups.Behavior
static void setVectorValues (ModelVector oData, Float[] p_fValuesToSet, boolean[] p_bAppliesTo)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, Float[] p_fValuesToSet)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, Double[] p_fValuesToSet, boolean[] p_bAppliesTo)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, Double[] p_fValuesToSet)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, Integer[] p_iValuesToSet, boolean[] p_bAppliesTo)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, String[] p_sValuesToSet)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, String[] p_sValuesToSet, boolean[] p_bAppliesTo)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector oData, Integer[] p_iValuesToSet)
 Sets the values for vector variables. More...
 
static void setVectorValues (ModelVector p_oData, ArrayList< String > p_oValuesToSet, boolean[] p_bAppliesTo) throws ModelException
 Sets the values for vector variables. More...
 
static void writeDataToFile (BufferedWriter ojOut, ModelData oData) throws java.io. IOException
 Writes a piece of data to an XML file. More...
 
static Object [] formatBlankHeaderRow (Object[][] p_oTable)
 Creates a blank header row for a table. More...
 
static Object [][] formatDataAsComboBox (Object[][] p_oExisting, ModelEnum oToFormat)
 Adds a value with combo box formatting to an Object array for display in a JTable. More...
 
static String formatComboBoxString (ModelEnum oToFormat)
 Formats a combo box string from a ModelEnum. More...
 
static void addDataObjectToDisplayArrays (ModelData p_oDataObject, ArrayList< ModelData > p_oSingles, ArrayList< ArrayList< SpeciesSpecific >> p_oSpeciesSpecific, boolean[] p_bAppliesTo)
 Adds a data object to the arrays which will eventually display run parameters in a set of tables. More...
 
static Object [][] addDataToArray (Object[][] p_oExistingArray, Object[] p_oAddArray)
 Adds an Object array to an existing Object array. More...
 
static Object [][] formatDataForTable (Object[][] p_oExisting, ModelFloat oToFormat)
 Formats and adds a value into an Object array suitable for placing in a JTable. More...
 
static Object [][] formatDataForTable (Object[][] p_oExisting, ModelInt oToFormat)
 Formats and adds a value into an Object array suitable for placing in a JTable. More...
 
static Object [][] formatDataForTable (Object[][] p_oExisting, ModelString oToFormat)
 Formats and adds a value into an Object array suitable for placing in a JTable. More...
 
static Object [][] formatDataForTable (Object[][] p_oExisting, ModelVector oToFormat)
 Formats a vector of values into an object array and adds it to another Object array suitable for placing in a JTable. More...
 
static Object [][] formatDataForTable (Object[][] p_oExisting, ModelVector oToFormat, boolean[] p_bWhichSpecies)
 Formats a vector of values into a plain vector suitable for placing in a JTable and adds it to a vector of vectors at the end. More...
 
static Object [] formatSpeciesHeaderRow (boolean[] p_bUsed, TreePopulation oPop)
 Creates an object array of strings consisting of species names, suitable for including in the parameter entry table. More...
 
static void ensureSize (ArrayList<?> list, int size)
 Ensure an ArrayList is at least a specific size. More...
 
- Public Attributes inherited from sortie.data.funcgroups.Behavior
boolean m_bMustHaveTrees = true
 If true, and a tree has no species/type combos, it automatically becomes disabled. More...
 
- Protected Member Functions inherited from sortie.data.funcgroups.Behavior
void setSingleValue (ModelData oDataMember, Object oData) throws ModelException
 Sets the value of a single data member. More...
 
BehaviorParameterDisplay formatTable (ArrayList< ModelData > p_oSingles, ArrayList< ArrayList< SpeciesSpecific >> p_oSpeciesSpecific, TreePopulation oPop)
 Turns vector groups of data objects into a set of tables for display. More...
 
- Static Protected Member Functions inherited from sortie.data.funcgroups.Behavior
static boolean boolArraysEqual (boolean[] p_bArrayOne, boolean[] p_bArrayTwo)
 Tests two boolean arrays for equality. More...
 

Detailed Description

Corresponds to the clDisturbance class.

Author
lora

Constructor & Destructor Documentation

◆ EpisodicMortality()

sortie.data.funcgroups.disturbance.EpisodicMortality.EpisodicMortality ( GUIManager  oManager,
BehaviorTypeBase  oParent,
String  sDescriptor,
String  sParFileTag,
String  sXMLRootString 
) throws ModelException

Constructor.

Parameters
oManagerGUIManager object
oParentParent managing object.
sDescriptorThe name of the behavior for the user.
sParFileTagString which is used to identify this behavior in the parameter file.
sXMLRootStringXML tag to surround this behavior's data.
Exceptions
ModelExceptionWon't throw.

Member Function Documentation

◆ addMortalityEpisode()

void sortie.data.funcgroups.disturbance.EpisodicMortality.addMortalityEpisode ( HarvestData  oEpisode)

Adds a mortality episode event.

Parameters
oEpisodeEvent to add.

◆ callSetupDialog()

void sortie.data.funcgroups.disturbance.EpisodicMortality.callSetupDialog ( JDialog  jParent,
MainWindow  oMain 
)

Call the episodic events dialog.

◆ changeOfPlotResolution()

void sortie.data.funcgroups.disturbance.EpisodicMortality.changeOfPlotResolution ( float  fOldX,
float  fOldY,
float  fNewX,
float  fNewY 
) throws ModelException

Removes cells from disturbance events that are outside the plot.

Parameters
fOldXfloat Old plot X length.
fOldYfloat Old plot Y length.
fNewXfloat New plot X length.
fNewYfloat New plot Y length.
Exceptions
ModelExceptionif anything goes wrong.

◆ changeOfSpecies()

void sortie.data.funcgroups.disturbance.EpisodicMortality.changeOfSpecies ( int  iOldNumSpecies,
int []  p_iIndexer,
String []  p_sNewSpecies 
) throws ModelException

Checks episodic disturbance settings upon change of species.

This will remove any deleted species.

Parameters
iOldNumSpeciessays how many species there used to be.
p_iIndexeris an array, sized to the new number of species. For each bucket (representing the index number of a species on the new list), the value is either the index of that same species in the old species list, or -1 if the species is new.
p_sNewSpeciesThe new species list.
Exceptions
ModelExceptionif anything goes wrong. Not thrown by this function.

◆ checkForGridCellResolutionChange()

void sortie.data.funcgroups.disturbance.EpisodicMortality.checkForGridCellResolutionChange ( ) throws ModelException

Checks for a user-triggered harvest or mortality episode grid resolution change.

Exceptions
ModelExceptionPassed through from called functions.

◆ clearMortalityEpisodes()

void sortie.data.funcgroups.disturbance.EpisodicMortality.clearMortalityEpisodes ( )

Clears mortality episode events.

◆ copySpecies()

void sortie.data.funcgroups.disturbance.EpisodicMortality.copySpecies ( int  iSpeciesCopyFrom,
int  iSpeciesCopyTo 
) throws ModelException

Updates parameters when species are copied.

This updates mortality episode settings.

Parameters
iSpeciesCopyFromint Species to copy.
iSpeciesCopyToint Species that is the copy.
Exceptions
ModelExceptionif there is a problem.

◆ doGridSetup()

void sortie.data.funcgroups.disturbance.EpisodicMortality.doGridSetup ( String []  p_sSpeciesNames) throws ModelException
private

Sets up the grid objects.

Parameters
p_sSpeciesNamesArray of species names.
Exceptions
ModelExceptionpassthrough only.

◆ getMortalityEpisode()

HarvestData sortie.data.funcgroups.disturbance.EpisodicMortality.getMortalityEpisode ( int  iIndex)

Gets a particular mortality episode event.

Parameters
iIndexIndex of desired mortality episode event.
Returns
Desired mortality episode event.

◆ getNumberMortalityEpisodes()

int sortie.data.funcgroups.disturbance.EpisodicMortality.getNumberMortalityEpisodes ( )

Gets number of mortality episode events.

Returns
Number of mortality episode events.

◆ readXMLParentTag()

void sortie.data.funcgroups.disturbance.EpisodicMortality.readXMLParentTag ( String  sXMLTag,
Attributes  oAttributes 
) throws ModelException

Accepts an XML parent tag (empty, no data) from the parser.

This method watches for the following tags:

  • ds_applyToCell
  • ds_applyToSpecies
  • ds_dbhRange
  • ds_deathEvent
Parameters
sXMLTagThe XML tag.
oAttributesThe attributes of this object.
Exceptions
ModelExceptionif there is a problem reading this data.

◆ setSingleValueByXMLTag()

boolean sortie.data.funcgroups.disturbance.EpisodicMortality.setSingleValueByXMLTag ( String  sXMLTag,
String  sXMLParentTag,
Attributes  oAttributes,
Object  oData 
) throws ModelException

This method looks for the following tags:

  • ds_timestep
  • ds_cutAmountType
  • ds_low
  • ds_high
  • ds_amountToCut
Parameters
sXMLTagXML tag of data object whose value is to be set.
sXMLParentTagThe immediate parent tag that sXMLTag is within.
oAttributesAttributes of the object. Ignored, but may be needed by overriding objects.
oDataData value appropriate to the data type
Returns
true if the value was set successfully; false if the value could not be found. (This would not be an error, because I need a way to cycle through the objects until one of the objects comes up with a match.)
Exceptions
ModelExceptionif the value could not be assigned to the data object, or if the cut type or cut type amount values are unrecognized.

◆ setVectorValueByXMLTag()

boolean sortie.data.funcgroups.disturbance.EpisodicMortality.setVectorValueByXMLTag ( String  sXMLTag,
String  sXMLParentTag,
ArrayList< String >  p_oData,
String []  p_sChildXMLTags,
boolean []  p_bAppliesTo,
org.xml.sax.Attributes  oParentAttributes,
org.xml.sax.Attributes []  p_oAttributes 
) throws ModelException

Reads seedling mortality rate parameters for episodic mortality.

Parameters
sXMLTagParent XML tag of data vector whose value is to be set.
sXMLParentTagThe immediate parent tag that sXMLTag is within.
p_oDataVector of data values appropriate to the data type
p_sChildXMLTagsThe XML tags of the child elements
p_bAppliesToArray of booleans saying which of the vector values should be set. This is important in the case of species-specifics - the vector index is the species number but not all species are set.
oParentAttributesAttributes of parent tag. May be useful when overridding this for unusual tags.
p_oAttributesAttributes passed from parser. This may be needed when overriding this function. Basic species-specific values are already handled by this function.
Returns
true if the value was set successfully; false if the value could not be found. (This would not be an error, because I need a way to cycle through the objects until one of the objects comes up with a match.) If a match to a data object is made via XML tag, but the found object is not a ModelVector, this returns false.
Exceptions
ModelExceptionif the value could not be assigned to the data object.

◆ validateData()

void sortie.data.funcgroups.disturbance.EpisodicMortality.validateData ( TreePopulation  oPop) throws ModelException

Validates the data prior to writing it.

This will also double check grid cell size and update disturbance events as appropriate in case cell size has been changed. This causes all HarvestData objects to validate themselves.

Parameters
oPopTreePopulation object
Exceptions
ModelExceptionif one of the data objects is not valid.

◆ writeParametersToTextFile()

void sortie.data.funcgroups.disturbance.EpisodicMortality.writeParametersToTextFile ( FileWriter  jOut,
TreePopulation  oPop 
) throws IOException

Override to write something useful to the parameters file.

The cells list is a bit long but everything else can go in there.

◆ writeXML()

void sortie.data.funcgroups.disturbance.EpisodicMortality.writeXML ( BufferedWriter  jOut,
TreePopulation  oPop 
) throws ModelException

Writes the episodic mortality data for the parameter file.

Does nothing if there is no episodic mortality data.

Parameters
jOutFileWriter File to write to.
oPopTree population object.
Exceptions
ModelExceptionif there are unrecognized disturbance cut types (should never happen).

Member Data Documentation

◆ m_iCutRangeAmount

float sortie.data.funcgroups.disturbance.EpisodicMortality.m_iCutRangeAmount = -1
protected

Placeholder for reading cut ranges from an XML file.

This one is for range cut amount

◆ m_iCutRangeLowerBound

float sortie.data.funcgroups.disturbance.EpisodicMortality.m_iCutRangeLowerBound = -1
protected

Placeholder for reading cut ranges from an XML file.

This one is for DBH range lower bound

◆ m_iCutRangeUpperBound

float sortie.data.funcgroups.disturbance.EpisodicMortality.m_iCutRangeUpperBound = -1
protected

Placeholder for reading cut ranges from an XML file.

This one is for DBH range upper bound

◆ mp_oMortEpisodes

ArrayList<HarvestData> sortie.data.funcgroups.disturbance.EpisodicMortality.mp_oMortEpisodes = new ArrayList<HarvestData>(0)
protected

List of episodic mortality events, held as HarvestData objects (ignoring the cut type)


The documentation for this class was generated from the following file: