Class DocumentedDistribution2.Configuration<MM extends Model,GG extends Gui>

java.lang.Object
eu.bandm.tools.installer.DocumentedDistribution2.Configuration<MM,GG>
All Implemented Interfaces:
Cloneable
Enclosing class:
DocumentedDistribution2<M extends Model<M>,G extends Gui>

public abstract static class DocumentedDistribution2.Configuration<MM extends Model,GG extends Gui> extends Object implements Cloneable
Auxiliary data class to define the main operation parameters by a particular instance of a particular application, realized as a subclass of DocumentedDistribution2. An instance must be passed by the constructor code of the that subclass when calling the super constructor DocumentedDistribution2(Configuration).
  • Field Details

    • programName

      public String programName
      The name of this program.
    • iconRelativePath

      @Opt public @Opt String iconRelativePath
      Relative path of a resource holding a middle-sized icon, used at the start of the message windows.
    • programContextName

      @Opt public @Opt String programContextName
      The name of a programming projet this program belongs to.
    • programVersionString

      public String programVersionString
      The current version of this program. A string of one or more numbers, according to POSIX/GNU NOT including spaces!
    • buildDate

      @Opt public @Opt String buildDate
      The current build date.
    • copyrightString

      @Opt public @Opt String copyrightString
      The year and holders of the copyright.
    • licenseString

      @Opt public @Opt String licenseString
      The license under which the program and its sources may by used, distibuted etc.
    • noWarranty

      public boolean noWarranty
      Whether to print a standard "no warranty" string.
    • emailForBugReport

      @Opt public @Opt String emailForBugReport
      Where to send bug reports.
    • metatoolsAck

      public boolean metatoolsAck
      Whether to print a metaools acknowledgement at the end of "about" text
    • runsOnFiles

      public boolean runsOnFiles
      Whether the program needs input data in the file system. If true, an example data set is included in the DEnS distribution.
    • runsOnlineOnly

      public boolean runsOnlineOnly
      Whether the program needs permanent internet access for running.
    • startWithStatusInformationDialog

      public boolean startWithStatusInformationDialog
      Whether to start with the status info window.
    • DEnS_local_dir_name

      public String DEnS_local_dir_name
      The name of the directory into which DEnS (= documentation, example and source) will be downloaded, relative to DocumentedDistribution2.DEnS_dir (=the one single user-defined DEnS download point).
    • examplesShortNames

      @Opt public @Opt String[] examplesShortNames
      Nick names under which the standard examples are presented in the Menu. A singleton name will not be printed. An empty or missing list makes no menu entries.
    • DEnS_download_position

      @Opt public @Opt String DEnS_download_position
      The URL from which the "DEnS" jar file may be read. For instance "http://bandm.eu/metatools/download/bandmBooking-DEnS.jar" May be ==null for very simple programs with online documentation only.
    • translations

      public CatalogByString translations
      Each constructor call must provide by this field an instance of CatalogByString which contains the translations for all payload specific texts AND for the texts used here in this class (but NOT for those used in DownloadDialog). This can be achieved by either extending an instance of Translations (i.e. adding the specific texts) or, vice versa, by creating a fresh CatalogByString and adding all translations defined here by myCatalog.putAll(new Translations()).
      The keys of the "generic" texts are found in Translations; for a complete list see the XML source in Translations.muli. Translations into further languages must be provided by the subclass if more than the languages "la", "en" and "de" shall be supported.
      A third category are the few specific texts which vary with the application but the KEYS of which are defined here. These are DocumentedDistribution2.KEY_PATH_local_userdocumentation, DocumentedDistribution2.KEY_URL_web_userdocumentation and DocumentedDistribution2.KEY_ultra_short_description.
    • defaultOptionsModel

      public MM extends Model defaultOptionsModel
      One instance of the options model class must be provided here by the derived sub-class(="the caller"). It is needed for creating clones by Model.makeDefaultInstance().
    • prototypeOptionsGui

      @Opt public GG extends Gui prototypeOptionsGui
      Prototype for instances employed in all graphic based modes of operation. Cannot be used directly but must be cloned by Gui.makeInstance(Model), because some sub-classes of DocumentedDistribution2 may allow multiple instantiations of their specific payload code, while all share this Configuration object.
    • user_languages

      public List<String> user_languages
      List language codes. Must contain at least one language. Codes are in the ISO endcoding with two lower case characters. More than one code contained enables language switching.
    • user_language_icons

      @Opt public @Opt List<@Opt Icon> user_language_icons
      List of optional flag icons in parallel with user_languages.
    • insetsOptionsHorizontal

      public int insetsOptionsHorizontal
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • insetsOptionsVertical

      public int insetsOptionsVertical
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • insetsLabelsHorizontal

      public int insetsLabelsHorizontal
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • insetsLabelsVertical

      public int insetsLabelsVertical
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • overallHeight

      public int overallHeight
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • overallWidth

      public int overallWidth
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • parameterControlFlowWidth

      public int parameterControlFlowWidth
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • enumSetFlowWidth

      public int enumSetFlowWidth
      The subclass can change these geometric GUI parameters according to OS dependent heuristics.
    • messageListAlwaysVisible

      public boolean messageListAlwaysVisible
      Whether the message pane is not on a tabbed pane (at the end of the row), but in a separate region of the top-level window which is always visible.
    • messagesPopUp

      public EnumSet<Message.Kind> messagesPopUp
    • confirmExit

      public int confirmExit
      Whether an exit by menu or window closing needs an explicit confirmation. 0=no confirmation, 1=on window close, 2=even on menu close
    • resumeLastRunOptions

      public boolean resumeLastRunOptions
      Whether on start-up the parameters of the last payload run are reconstructed.
    • storeOnlySuccessful

      public boolean storeOnlySuccessful
      Whether to store the parameters into the persistent storage only after an execution without errors or exceptions.
    • runSwitchesToMessageTab

      public boolean runSwitchesToMessageTab
      Whether the run button click causes a switch to the message pane.
    • emptyOptionsCauseOnlyUsage

      public boolean emptyOptionsCauseOnlyUsage
      Whether a completely empty command line shows usage() and exits. (If no set, the GUI mode will be entered.)
    • getOpt_version

      public Function<MM extends Model,Boolean> getOpt_version
      Access to the cmd line option for printing the version.
    • getOpt_help

      public Function<MM extends Model,Boolean> getOpt_help
      Access to the cmd line option for printing the help text.
    • getOpt_gui

      public Function<MM extends Model,Boolean> getOpt_gui
      Access to the cmd line option for always starting the gui.
    • getOpt_language

      public Function<MM extends Model,@Opt String> getOpt_language
      Access to the cmd line option for language selection. Returning null must indicate: option not present = no language selected.
    • getOpt_clearPersistency

      public Function<MM extends Model,Boolean> getOpt_clearPersistency
      Access to the cmd line option for clearing the persistency store.
    • credits

      @Opt public @Opt String[] credits
      Keys to translation to add as credits. (Language flags are implicit.)
  • Constructor Details

    • Configuration

      public Configuration()
  • Method Details