Package com.zfabrik.util.runtime
Class Foundation
- java.lang.Object
-
- com.zfabrik.util.runtime.Foundation
-
public class Foundation extends java.lang.Object
The Foundation class holds basic configuration and the most basic information routines applying to the z2 installation and the running process- Author:
- Henning Blohm
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CONFIG_FILE
System property that can be specified for the home process and will be propagated to worker processes to name the config properties file.static java.lang.String
CONFIG_FILE_DEF
Default config file.static java.lang.String
HOME
System property that defines the z2 home folder.static java.lang.String
HOME_CLUSTER
In order to provide cluster wide distinguishing and grouping of z2 processes they may share or distringuish by a cluster idstatic java.lang.String
HOME_CONCURRENCY
pre-configured process concurrency to be set on the default application thread pool (sys prop)static java.lang.String
HOME_LAYOUT_BIN
Home layout folder for main bin artifacts to start z2static java.lang.String
HOME_LAYOUT_COMPONENT
The home layout to start (sys prop).static java.lang.String
HOME_LAYOUT_DATA
file system layout: Folder for local data.static java.lang.String
HOME_LAYOUT_LOCAL
Home layout folder for local pre-built repostatic java.lang.String
HOME_LAYOUT_REPOS
file system layout: Folder for repo caches.static java.lang.String
HOME_LAYOUT_WORK
file system layout: Folder for temporary data.static java.lang.String
HOME_START
The home system states to attain and keep.static java.lang.String
INSTANCE_ID
Instance id of the home process when conveyed to a child process by a system propertystatic java.lang.String
LANGUAGE_LEVEL
Language level of the built-in Java compiler.static java.lang.String
MODE
A z2 process may be started in development mode, if setting this system property to the valuedevelopment
.static java.lang.String
MODE_DEVELOPMENT
Value to system properyMODE
for the development modestatic java.lang.String
OFFLINE
The system can be run in offline mode.static java.lang.String
PROCESS_WORKER
Component name of the worker process, passed as system property to a child processstatic java.lang.String
PROXY_AUTH
If set toBASIC
(case independent), the all system properties <protocol>.proxyUser and <protocol>.proxyPassword will be considered for basic authentication to a proxy server.static java.lang.String
Z2_VERSION
Z2 version
-
Constructor Summary
Constructors Constructor Description Foundation()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
getCoreBuildVersion()
Returns the core build number.static java.io.File
getHomeFolder()
Determine the home folder, that is, the place where repositories will be auto-discoveredstatic java.lang.String
getInstanceId()
The runtime instance identifier for the stand alone or home process.static java.util.Properties
getProperties()
static boolean
isDevelopmentMode()
Returns true if and only if the system is running in development mode.static boolean
isOfflineMode()
Convenience check for the boolean system propertyOFFLINE
.static boolean
isWorker()
-
-
-
Field Detail
-
HOME
public static final java.lang.String HOME
System property that defines the z2 home folder. If not set defaults to the environment property Z2_HOME if that is not set either, it will default to "../..".- See Also:
- Constant Field Values
-
MODE
public static final java.lang.String MODE
A z2 process may be started in development mode, if setting this system property to the valuedevelopment
.In development mode the runtime may support development specific features like test code compilation
- See Also:
- Constant Field Values
-
MODE_DEVELOPMENT
public static final java.lang.String MODE_DEVELOPMENT
Value to system properyMODE
for the development mode- See Also:
- Constant Field Values
-
OFFLINE
public static final java.lang.String OFFLINE
The system can be run in offline mode. If so, component repositories are requested to avoid attempts to connect to remote repositories. Set this system property totrue
to run in offline mode. Defaults tofalse
- See Also:
- Constant Field Values
-
CONFIG_FILE
public static final java.lang.String CONFIG_FILE
System property that can be specified for the home process and will be propagated to worker processes to name the config properties file. This config should strictly contains ONLY configuration that applies to the home and all processes started from there - standalone or embedded. Process level configuration should be passed as system properties- See Also:
- Constant Field Values
-
CONFIG_FILE_DEF
public static final java.lang.String CONFIG_FILE_DEF
Default config file.- See Also:
- Constant Field Values
-
HOME_LAYOUT_COMPONENT
public static final java.lang.String HOME_LAYOUT_COMPONENT
The home layout to start (sys prop). This is kept for compatibility reasons and simply adds toHOME_START
- See Also:
- Constant Field Values
-
HOME_START
public static final java.lang.String HOME_START
The home system states to attain and keep. Can be specified as comma-separated list- See Also:
- Constant Field Values
-
HOME_LAYOUT_WORK
public static final java.lang.String HOME_LAYOUT_WORK
file system layout: Folder for temporary data. Using code must use a subfolder!- See Also:
- Constant Field Values
-
HOME_LAYOUT_REPOS
public static final java.lang.String HOME_LAYOUT_REPOS
file system layout: Folder for repo caches. Depends on installation folder. Is computed and available via the foundation- See Also:
- Constant Field Values
-
HOME_LAYOUT_DATA
public static final java.lang.String HOME_LAYOUT_DATA
file system layout: Folder for local data. Depends on installation folder. Is computed and available via the foundation- See Also:
- Constant Field Values
-
HOME_CONCURRENCY
public static final java.lang.String HOME_CONCURRENCY
pre-configured process concurrency to be set on the default application thread pool (sys prop)- See Also:
- Constant Field Values
-
PROCESS_WORKER
public static final java.lang.String PROCESS_WORKER
Component name of the worker process, passed as system property to a child process- See Also:
- Constant Field Values
-
INSTANCE_ID
public static final java.lang.String INSTANCE_ID
Instance id of the home process when conveyed to a child process by a system property- See Also:
- Constant Field Values
-
HOME_CLUSTER
public static final java.lang.String HOME_CLUSTER
In order to provide cluster wide distinguishing and grouping of z2 processes they may share or distringuish by a cluster id- See Also:
- Constant Field Values
-
LANGUAGE_LEVEL
public static final java.lang.String LANGUAGE_LEVEL
Language level of the built-in Java compiler. Currently supported values are "6" or "7". Is determined from the JDK used by default.- See Also:
- Constant Field Values
-
PROXY_AUTH
public static final java.lang.String PROXY_AUTH
If set toBASIC
(case independent), the all system properties <protocol>.proxyUser and <protocol>.proxyPassword will be considered for basic authentication to a proxy server.- See Also:
- Constant Field Values
-
HOME_LAYOUT_LOCAL
public static final java.lang.String HOME_LAYOUT_LOCAL
Home layout folder for local pre-built repo- See Also:
- Constant Field Values
-
HOME_LAYOUT_BIN
public static final java.lang.String HOME_LAYOUT_BIN
Home layout folder for main bin artifacts to start z2- See Also:
- Constant Field Values
-
Z2_VERSION
public static final java.lang.String Z2_VERSION
Z2 version- See Also:
- Constant Field Values
-
-
Method Detail
-
getCoreBuildVersion
public static long getCoreBuildVersion()
Returns the core build number. This can be used to compare versions of the runtime core. It is made up of year, month, day, hour, minute.
-
getInstanceId
public static java.lang.String getInstanceId()
The runtime instance identifier for the stand alone or home process. This does normally not need to be specified and should not. Any non-worker process will allocate an instance identifier at startup. Instance identifiers make sure that resources that cannot safely be shared among different z2 runtimes (such as e.g. Java runtime resources) can be separated. Instance allocation however is transient and lost at termination of the home or stand alone z2 process.
-
isDevelopmentMode
public static boolean isDevelopmentMode()
Returns true if and only if the system is running in development mode. This is equivalent to the test of the system propertyMODE
. The method returns true only if this property is set to "development" (case-sensitive check!), any other value (including empty or null) yields to false.- Returns:
- true if system is running in dev-mode, false otherwise
-
getProperties
public static java.util.Properties getProperties()
-
isWorker
public static boolean isWorker()
-
isOfflineMode
public static boolean isOfflineMode()
Convenience check for the boolean system propertyOFFLINE
.- Returns:
-
getHomeFolder
public static java.io.File getHomeFolder()
Determine the home folder, that is, the place where repositories will be auto-discovered
-
-