Class ServerAppDistributionProps

java.lang.Object
com.iizix.prop.GProp<GProp<?>[]>
com.iizix.prop.PropCnr
com.iizix.server.app.prop.ServerAppDistributionProps
All Implemented Interfaces:
EventListener, IGProp<GProp<?>[]>, IPropCnr, IServerAppDistributionProps, Cloneable
Direct Known Subclasses:
AppDistributionProps

public class ServerAppDistributionProps extends PropCnr implements IServerAppDistributionProps
Editor version of the container that holds the required settings for the server to operate and initialize itself with.
  • Field Details

    • FILE_NAME

      public static final String FILE_NAME
      The Application distribution file name located under the Module root: ".iiziApp", when outside the Jar file.
      See Also:
    • ATOM

      public static final Atom ATOM
      The atom for the App Distribution properties container: "$dist".
    • DESTINATION_JAR

      public static final String DESTINATION_JAR
      The name of the property for Jar destination.
      See Also:
    • OTHER_MODULES

      public static final String OTHER_MODULES
      The name of the property for Other Modules.
      See Also:
    • INCLUDE_EXTERNALS

      public static final String INCLUDE_EXTERNALS
      The name of the property for Include externals.
      See Also:
    • JAR_SIGN

      public static final String JAR_SIGN
      The name of the property for Jar signing.
      See Also:
    • JAR_SEAL

      public static final String JAR_SEAL
      The name of the property for Jar seal.
      See Also:
    • JAR_COMPRESSION

      public static final String JAR_COMPRESSION
      The name of the property for Jar compression.
      See Also:
    • JAR_OBFUSCATION

      public static final String JAR_OBFUSCATION
      The name of the property for Jar obfuscation.
      See Also:
    • INCLUDE_APP_SOURCE

      public static final String INCLUDE_APP_SOURCE
      The name of the property for Include App source.
      See Also:
    • GROUP_ID

      public static final String GROUP_ID
      The name of the property for the Developer Group ID.
      See Also:
    • DEVELOPER_ID

      public static final String DEVELOPER_ID
      The name of the property for the Developer ID.
      See Also:
    • REGISTER_APP

      public static final String REGISTER_APP
      The name of the property for Register app.
      See Also:
    • REGISTERED_APP_ID

      public static final String REGISTERED_APP_ID
      The name of the property for the Registered App ID.
      See Also:
    • KEY_GOOGLE_MAPS

      public static final String KEY_GOOGLE_MAPS
      The name of the property for Google Maps key.
      See Also:
    • APP_STORE_URL

      public static final String APP_STORE_URL
      The name of the property for the App Store URL: "appStoreURL".
      See Also:
    • GOOGLE_PLAY_URL

      public static final String GOOGLE_PLAY_URL
      The name of the property for the Google Play URL: "googlePlayURL".
      See Also:
    • projectDir

      protected File projectDir
      Project directory, null if not set.
  • Constructor Details

    • ServerAppDistributionProps

      public ServerAppDistributionProps()
      Creates the screen identification property container without a name. The name must be set in all cases using the setPropertyAtom call.
    • ServerAppDistributionProps

      public ServerAppDistributionProps(Atom propertyAtom)
      Creates the screen identification property container with the specified name. All system-reserved names for components begins with "$".
      Parameters:
      propertyAtom - the name of the component, unique within it's parent.
  • Method Details

    • setLoadedFile

      public void setLoadedFile(File file)
      Sets the .iiziApp file that loaded this property.
      Parameters:
      file - The file that loaded this property.
    • getProjectDir

      public File getProjectDir()
      Gets the project directory.
      Returns:
      The project directory.
    • clone

      Clone must be overridden.
      Overrides:
      clone in class PropCnr
    • setName

      public void setName(String name)
      Sets the app name.
      Parameters:
      name - The app name.
    • getName

      public String getName()
      Gets the app name.
      Returns:
      The app name, never null but could be empty string (illegal name).
    • setDescription

      public void setDescription(String descr)
      Sets the description.
      Parameters:
      descr - The description, or null to undefine it.
    • getDescription

      public String getDescription()
      Gets the description.
      Returns:
      The description or null if not defined.
    • setDestinationJar

      public void setDestinationJar(String destJar)
      Sets the destination Jar file.
      Parameters:
      destJar - The file name.
    • getDestinationJar

      public String getDestinationJar()
      Gets the destination Jar file name.
      Returns:
      The file name, or null if not defined.
    • doJarSign

      public boolean doJarSign()
      Flag to sign the Jar file.
      Returns:
      true by default, false if configured otherwise.
    • setJarSign

      public void setJarSign(boolean on)
      Sets the flag to sign the Jar file.
      Parameters:
      on - The flag.
    • doJarSeal

      public boolean doJarSeal()
      Flag to seal the Jar file.
      Returns:
      true by default, false if configured otherwise.
    • setJarSeal

      public void setJarSeal(boolean on)
      Sets the flag to seal the Jar file.
      Parameters:
      on - The flag.
    • doJarCompression

      public boolean doJarCompression()
      Flag to compress the Jar file.
      Returns:
      true by default, false if configured otherwise.
    • setJarCompression

      public void setJarCompression(boolean on)
      Sets the flag to compress the Jar file.
      Parameters:
      on - The flag.
    • doJarObfuscation

      public boolean doJarObfuscation()
      Flag to obfuscate the Jar file's Java source code.
      Returns:
      false by default, true if configured otherwise.
    • setJarObfuscation

      public void setJarObfuscation(boolean on)
      Sets the flag to obfuscate the Jar file's Java source code.
      Parameters:
      on - The flag.
    • doIncludeExternals

      public boolean doIncludeExternals()
      Flag to include external directories and libraries.
      Returns:
      true by default, false if configured otherwise.
    • setIncludeExternals

      public void setIncludeExternals(boolean doInclude)
      Sets the flag to include external directories and libraries.
      Parameters:
      doInclude - The flag.
    • doIncludeAppSource

      public boolean doIncludeAppSource()
      Flag to include external the App's source.

      This can be used e.g. for backup purposes.

      Returns:
      false by default, true if configured otherwise.
    • setIncludeAppSource

      public void setIncludeAppSource(boolean doInclude)
      Sets the flag to include the App's source.

      This can be used e.g. for backup purposes.

      Parameters:
      doInclude - The flag.
    • setOtherModules

      public void setOtherModules(String[] otherModules)
      Sets the Modules that should be included in the application, apart of the module this property belongs to.
      Parameters:
      otherModules - The other Module names that should make up the application.
    • getOtherModules

      public String[] getOtherModules()
      Gets the Modules that should be included in the application, apart of the module this property belongs to.
      Returns:
      The other Module names that should make up the application.
    • getGroupID

      public String getGroupID()
      Gets the Developer Group ID of the app.
      Returns:
      The developer Group ID, never null, but empty string for none.
    • getDeveloperID

      public String getDeveloperID()
      Gets the Developer ID of the app.
      Returns:
      The developer ID, never null, but empty string for none.
    • doRegisterApp

      public boolean doRegisterApp()
      Gets the flag if the app should be registered with the license system.
      Returns:
      true for registration required, false otherwise.
    • getAppID

      public String getAppID()
      Gets the Registered App ID. This ID is filled in automatically when registering a new app.
      Returns:
      The Registered App ID, never null, but empty string for none.
    • getKeyGoogleMaps

      public String getKeyGoogleMaps()
      Gets the key to use for Browser use of Google Maps: the key the server's configuration sets for this application alone (setServerKeyGoogleMaps(String)), else the key of the distribution (CC-FIX-MAPS-KEY-SERVER). If neither is defined, the server environment's key will be used, if any. If none is found, a Browser client shows "Google Maps key not configured" in the map.
      Specified by:
      getKeyGoogleMaps in interface IServerAppDistributionProps
      Returns:
      The key for Google Maps, or null for none.
    • setServerKeyGoogleMaps

      public void setServerKeyGoogleMaps(String key)
      Sets the Google Maps key the server's configuration holds for this application alone (the key of the application's definition in its environment, ServerAppConfig.getKeyGoogleMaps()), which getKeyGoogleMaps() then answers in front of the distribution's own key (CC-FIX-MAPS-KEY-SERVER). Called by the server when the application is loaded; never saved with the distribution.
      Parameters:
      key - The key, null or empty for none.
    • getAppStoreURL

      public String getAppStoreURL()
      Gets the URL of the app's page in the Apple App Store, offered to a Browser that cannot run the app (CC-BROWSER-GATE). Optional: an app that is not in the store has none.
      Specified by:
      getAppStoreURL in interface IServerAppDistributionProps
      Returns:
      The URL as typed, or null for none. The server validates it as https: before writing it into the page.
    • getGooglePlayURL

      public String getGooglePlayURL()
      Gets the URL of the app's page in Google Play, offered to a Browser that cannot run the app (CC-BROWSER-GATE). Optional: an app that is not in the store has none.
      Specified by:
      getGooglePlayURL in interface IServerAppDistributionProps
      Returns:
      The URL as typed, or null for none. The server validates it as https: before writing it into the page.