ur_rna.StructureEditor

## Class Program

- java.lang.Object
- - ur_rna.StructureEditor.Program

- All Implemented Interfaces:
    AppInfo.AppInfoProvider

      public class Program
      extends java.lang.Object
      implements AppInfo.AppInfoProvider

  Main class for running the structure editor as a standalone drawing program. author: Richard M. Watson

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private static class` | `Program.StartupArgs`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `APPNAME`
    `static java.lang.String` | `C_YEAR`
    `static java.lang.String` | `DrawingFileExtension`
    `private static Program` | `instance`
    `static AppLog` | `log`
    `private MainFrame` | `mainFrame`
    `(package private) static java.util.regex.Pattern` | `pattern`
    `static java.lang.String` | `RESOURCES`
    `private Settings` | `settings`
    `static java.lang.String` | `TITLE`
    `private UserPrefs` | `userPrefs`
    `static Version` | `VERSION`
    `static int` | `VERSION_MAJOR`
    `static int` | `VERSION_MINOR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Program()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `doInitialStartup()`
    `AppInfo.AppInfoProvider` | `getAppInfo()`
    `java.lang.String` | `getAppName()`
    `java.lang.String` | `getAppTitle()`
    `Version` | `getAppVersion()`
    `static javax.swing.ImageIcon` | `getIcon(java.lang.String name)`
    `static java.awt.image.BufferedImage` | `getImage(java.lang.String name)`
    `static java.util.List<java.lang.String>` | `getImageResources()`
    `static Program` | `getInstance()`
    `MainFrame` | `getMainFrame()`
    `static java.net.URL` | `getResource(java.lang.String relativePath)`
    `static java.io.File` | `getResourceFile(java.lang.String relativePath)`
    `static java.io.InputStream` | `getResourceStream(java.lang.String relativePath)`
    `static java.lang.String` | `getResourceText(java.lang.String messageName)`
    `static java.lang.String` | `getResourceText(java.lang.String messageName, java.lang.String sectionName)`
    `static java.lang.String` | `getVersion()`
    `static boolean` | `loadNativeLib()`
    `static void` | `main(java.lang.String[] args)` The main program entry-point.
    `java.util.prefs.Preferences` | `mruPaths()`
    `private static Program.StartupArgs` | `parseCommandArgs(java.lang.String[] args)`
    `UserPrefs` | `prefs()`
    `static java.lang.String` | `replaceResUrls(java.lang.String input)`
    `Settings` | `settings()`

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

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

- - ### Field Detail

    - #### APPNAME

          public static final java.lang.String APPNAME

      See Also:
        Constant Field Values

    - #### C_YEAR

          public static final java.lang.String C_YEAR

      See Also:
        Constant Field Values

    - #### DrawingFileExtension

          public static java.lang.String DrawingFileExtension

    - #### instance

          private static final Program instance

    - #### log

          public static final AppLog log

    - #### mainFrame

          private MainFrame mainFrame

    - #### pattern

          static java.util.regex.Pattern pattern

    - #### RESOURCES

          public static final java.lang.String RESOURCES

      See Also:
        Constant Field Values

    - #### settings

          private Settings settings

    - #### TITLE

          public static final java.lang.String TITLE

      See Also:
        Constant Field Values

    - #### userPrefs

          private UserPrefs userPrefs

    - #### VERSION

          public static final Version VERSION

    - #### VERSION_MAJOR

          public static final int VERSION_MAJOR

      See Also:
        Constant Field Values

    - #### VERSION_MINOR

          public static final int VERSION_MINOR

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Program

          public Program()

  - ### Method Detail

    - #### doInitialStartup

          private void doInitialStartup()

    - #### getAppInfo

          public AppInfo.AppInfoProvider getAppInfo()

    - #### getAppName

          public java.lang.String getAppName()

      Specified by:
        `getAppName` in interface `AppInfo.AppInfoProvider`

    - #### getAppTitle

          public java.lang.String getAppTitle()

      Specified by:
        `getAppTitle` in interface `AppInfo.AppInfoProvider`

    - #### getAppVersion

          public Version getAppVersion()

      Specified by:
        `getAppVersion` in interface `AppInfo.AppInfoProvider`

    - #### getIcon

          @Nullable
          public static javax.swing.ImageIcon getIcon(java.lang.String name)

    - #### getImage

          public static java.awt.image.BufferedImage getImage(java.lang.String name)

    - #### getImageResources

          public static java.util.List<java.lang.String> getImageResources()

    - #### getInstance

          public static Program getInstance()

    - #### getMainFrame

          public MainFrame getMainFrame()

    - #### getResource

          @Nullable
          public static java.net.URL getResource(java.lang.String relativePath)

    - #### getResourceFile

          @Nullable
          public static java.io.File getResourceFile(java.lang.String relativePath)

    - #### getResourceStream

          public static java.io.InputStream getResourceStream(java.lang.String relativePath)

    - #### getResourceText

          public static java.lang.String getResourceText(java.lang.String messageName)

    - #### getResourceText

          public static java.lang.String getResourceText(java.lang.String messageName,
                                                         java.lang.String sectionName)

    - #### getVersion

          public static java.lang.String getVersion()

    - #### loadNativeLib

          public static boolean loadNativeLib()

    - #### main

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

      The main program entry-point.
      Parameters:
        `args` - The command line arguments

    - #### mruPaths

          public java.util.prefs.Preferences mruPaths()

    - #### parseCommandArgs

          private static Program.StartupArgs parseCommandArgs(java.lang.String[] args)

    - #### prefs

          public UserPrefs prefs()

    - #### replaceResUrls

          public static java.lang.String replaceResUrls(java.lang.String input)

    - #### settings

          public Settings settings()