edu.sc.seis.sod

## Class Start

- java.lang.Object
- - edu.sc.seis.sod.Start

-     public class Start
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Start.InputSourceCreator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DBURL_KEY`
    `static java.lang.String` | `DEFAULT_PARSER`
    `static java.lang.String` | `DEFAULT_PROPS`
    `protected java.lang.String` | `HSQL_FILE_URL`
    `protected static NetworkArm` | `network`
    `static boolean` | `RUN_ARMS`
    `static java.lang.String` | `TUTORIAL_LOC`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Start(Args args)` Creates a new `Start` instance set to use the XML config file in confFilename
    `Start(Args args, Start.InputSourceCreator sourceMaker, java.util.Properties props, boolean commandLineToolRun)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `add(ArmListener listener)`
    `static void` | `add(java.util.Properties newProps)`
    `static void` | `addResultMailer(java.util.Properties mailProps)`
    `void` | `allHopeAbandon(java.lang.String message)`
    `static void` | `armFailure(Arm arm, java.lang.Throwable t)`
    `static void` | `cataclysmicFailureOfUnbelievableProportions()`
    `static void` | `checkGCJ()`
    `static org.w3c.dom.Document` | `createDoc(org.xml.sax.InputSource source, java.lang.String filename)`
    `static org.xml.sax.InputSource` | `createInputSource(java.lang.ClassLoader cl, java.lang.String loc)`
    `static java.io.InputStream` | `createInputStream(java.lang.ClassLoader cl, java.lang.String loc)`
    `static java.io.InputStream` | `createInputStream(java.lang.String loc)`
    `static edu.sc.seis.fissuresUtil.cache.RetryStrategy` | `createRetryStrategy(int numRetries)`
    `static void` | `exit(java.lang.String reason)`
    `static Args` | `getArgs()`
    `static org.w3c.dom.Element` | `getConfig()`
    `static java.lang.String` | `getConfigFileName()`
    `static edu.iris.Fissures.model.TimeInterval` | `getElapsedTime()`
    `static EventArm` | `getEventArm()`
    `static NetworkArm` | `getNetworkArm()`
    `static edu.sc.seis.fissuresUtil.exceptionHandler.ResultMailer` | `getResultMailer()`
    `static RunProperties` | `getRunProps()`
    `static edu.iris.Fissures.model.MicroSecondDate` | `getStartTime()`
    `static WaveformArm[]` | `getWaveformArmArray()`
    `static AbstractWaveformRecipe` | `getWaveformRecipe()`
    `static void` | `informUserOfBadNetworkAndExit(java.lang.String networkCode, edu.iris.Fissures.IfNetwork.NetworkNotFound nnf)`
    `static void` | `informUserOfBadQueryAndExit(java.lang.String message, java.lang.Exception e)`
    `protected void` | `initDatabase()`
    `static boolean` | `isArmFailure()`
    `static void` | `loadProps(java.io.InputStream propStream, java.util.Properties baseProps)`
    `static void` | `main(java.lang.String[] args)`
    `static void` | `setCommandName(java.lang.String name)`
    `static void` | `setConfig(org.w3c.dom.Element config)`
    `void` | `setupDatabaseForUnitTests()`
    `static void` | `simpleArmFailure(Arm arm, java.lang.String reason)`
    `void` | `start()`
    `static void` | `wakeUpAllArms()`
    `protected void` | `warnIfDatabaseExists()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### HSQL_FILE_URL

          protected java.lang.String HSQL_FILE_URL

    - #### DEFAULT_PARSER

          public static final java.lang.String DEFAULT_PARSER

      See Also:
        Constant Field Values

    - #### network

          protected static NetworkArm network

    - #### DBURL_KEY

          public static final java.lang.String DBURL_KEY

      See Also:
        Constant Field Values

    - #### RUN_ARMS

          public static boolean RUN_ARMS

    - #### TUTORIAL_LOC

          public static final java.lang.String TUTORIAL_LOC

      See Also:
        Constant Field Values

    - #### DEFAULT_PROPS

          public static final java.lang.String DEFAULT_PROPS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Start

          public Start(Args args)
                throws java.lang.Exception

      Creates a new `Start` instance set to use the XML config file in confFilename
      Throws:
        `java.lang.Exception`

    - #### Start

          public Start(Args args,
                       Start.InputSourceCreator sourceMaker,
                       java.util.Properties props,
                       boolean commandLineToolRun)
                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

  - ### Method Detail

    - #### informUserOfBadNetworkAndExit

          public static void informUserOfBadNetworkAndExit(java.lang.String networkCode,
                                                           edu.iris.Fissures.IfNetwork.NetworkNotFound nnf)

    - #### informUserOfBadQueryAndExit

          public static void informUserOfBadQueryAndExit(java.lang.String message,
                                                         java.lang.Exception e)

    - #### getStartTime

          public static edu.iris.Fissures.model.MicroSecondDate getStartTime()

    - #### getElapsedTime

          public static edu.iris.Fissures.model.TimeInterval getElapsedTime()

    - #### getConfigFileName

          public static java.lang.String getConfigFileName()

    - #### setupDatabaseForUnitTests

          public void setupDatabaseForUnitTests()
                                         throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### initDatabase

          protected void initDatabase()
                               throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### warnIfDatabaseExists

          protected void warnIfDatabaseExists()

    - #### loadProps

          public static void loadProps(java.io.InputStream propStream,
                                       java.util.Properties baseProps)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### createInputSource

          public static org.xml.sax.InputSource createInputSource(java.lang.ClassLoader cl,
                                                                  java.lang.String loc)
                                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### createInputStream

          public static java.io.InputStream createInputStream(java.lang.String loc)
                                                       throws java.io.IOException,
                                                              java.net.MalformedURLException,
                                                              java.io.FileNotFoundException

      Throws:
        `java.io.IOException`
        `java.net.MalformedURLException`
        `java.io.FileNotFoundException`

    - #### createInputStream

          public static java.io.InputStream createInputStream(java.lang.ClassLoader cl,
                                                              java.lang.String loc)
                                                       throws java.io.IOException,
                                                              java.net.MalformedURLException,
                                                              java.io.FileNotFoundException

      Throws:
        `java.io.IOException`
        `java.net.MalformedURLException`
        `java.io.FileNotFoundException`

    - #### createRetryStrategy

          public static edu.sc.seis.fissuresUtil.cache.RetryStrategy createRetryStrategy(int numRetries)

    - #### setCommandName

          public static void setCommandName(java.lang.String name)

    - #### setConfig

          public static void setConfig(org.w3c.dom.Element config)

    - #### getWaveformRecipe

          public static AbstractWaveformRecipe getWaveformRecipe()

    - #### getEventArm

          public static EventArm getEventArm()

    - #### getNetworkArm

          public static NetworkArm getNetworkArm()

    - #### getWaveformArmArray

          public static WaveformArm[] getWaveformArmArray()

    - #### getRunProps

          public static RunProperties getRunProps()

    - #### createDoc

          public static org.w3c.dom.Document createDoc(org.xml.sax.InputSource source,
                                                       java.lang.String filename)
                                                throws org.xml.sax.SAXException,
                                                       java.io.IOException,
                                                       javax.xml.parsers.ParserConfigurationException

      Throws:
        `org.xml.sax.SAXException`
        `java.io.IOException`
        `javax.xml.parsers.ParserConfigurationException`

    - #### getResultMailer

          public static edu.sc.seis.fissuresUtil.exceptionHandler.ResultMailer getResultMailer()
                                                                                        throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### addResultMailer

          public static void addResultMailer(java.util.Properties mailProps)
                                      throws edu.sc.seis.fissuresUtil.exceptionHandler.MissingPropertyException

      Throws:
        `edu.sc.seis.fissuresUtil.exceptionHandler.MissingPropertyException`

    - #### start

          public void start()
                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### allHopeAbandon

          public void allHopeAbandon(java.lang.String message)

    - #### add

          public static void add(ArmListener listener)

    - #### getArgs

          public static Args getArgs()

    - #### getConfig

          public static org.w3c.dom.Element getConfig()

    - #### checkGCJ

          public static void checkGCJ()

    - #### main

          public static void main(java.lang.String[] args)

    - #### exit

          public static void exit(java.lang.String reason)

    - #### add

          public static void add(java.util.Properties newProps)

    - #### cataclysmicFailureOfUnbelievableProportions

          public static void cataclysmicFailureOfUnbelievableProportions()

    - #### simpleArmFailure

          public static void simpleArmFailure(Arm arm,
                                              java.lang.String reason)

    - #### armFailure

          public static void armFailure(Arm arm,
                                        java.lang.Throwable t)

    - #### wakeUpAllArms

          public static void wakeUpAllArms()

    - #### isArmFailure

          public static boolean isArmFailure()