|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ibm.jzos.ZUtil
public class ZUtil
This class provides a static interface to various z/OS native library calls, other than I/O.
Field Summary | |
---|---|
static int |
LOG_DEBUG
|
static int |
LOG_ERR
|
static int |
LOG_INFO
|
static int |
LOG_NOTICE
|
static int |
LOG_TRACE
|
static int |
LOG_WARN
|
static int |
SMF_HEADER_PREFIX_LEN
|
Method Summary | |
---|---|
static java.lang.String[] |
environ()
Get an array of strings that represent the environment variables of the current process. |
static java.lang.String |
formatStackTrace(java.lang.Throwable t)
Print the stacktrace related to the supplied Throwable and return it as a String. |
static java.lang.String |
getCodePageCurrentLocale()
Native method to retrieve the default locale codepage name used by the toolkit native library. |
static long |
getCpuTimeMicros()
Gets the amount of CPU time consumed, expressed in microseconds, for the current thread. |
static java.lang.String |
getCurrentJobId()
Get the current MVS jobid, blanks trimmed |
static java.lang.String |
getCurrentJobname()
Get the current MVS jobname, blanks trimmed |
static java.lang.String |
getCurrentProcStepname()
Get the current MVS procstepname, blanks trimmed. |
static java.lang.String |
getCurrentStepname()
Get the current MVS stepname, blanks trimmed. |
static long |
getCurrentTimeMicros()
Gets the current time, expressed in microseconds since 00:00:00 Coordinated Universal Time (UTC), January 1, 1970 |
static java.lang.String |
getCurrentTsoPrefix()
Gets the TSO prefix, if running under TSO. |
static java.lang.String |
getCurrentUser()
Get the current MVS userid. |
static java.lang.String |
getDefaultPlatformEncoding()
Get the default platform encoding for this instance of the JVM. |
static java.lang.String |
getEnv(java.lang.String varName)
Get the value of the Environment variable. |
static java.util.Properties |
getEnvironment()
Return a Properties object containing the current process environment variables. |
static java.lang.String |
getJavaVersionInfo()
Get a multi-line string that contains information about the version of Java that is currently running. |
static java.lang.String |
getJzosDllVersion()
Return a string representing the version of the JZOS shared library. |
static java.lang.String |
getJzosJarVersion()
Load the build_version.properties class resource and return a string representing the version of the JZOS Java archive. |
static int |
getPid()
Get the process id of the current process. |
static int |
getPPid()
Get the parent process id of the current process. |
static void |
logDiagnostic(int level,
java.lang.String msg)
Send a message to the JZOS toolkit's log, which goes to the Language Environment messages file, which is usually stderr or DD //SYSOUT. |
static java.io.PrintStream |
newEncodedPrintStream(java.io.OutputStream os,
boolean autoFlush)
Construct a PrintStream constructed with the defaultOutputEncoding. |
static java.io.PrintStream |
newEncodedPrintStream(java.io.OutputStream os,
boolean autoFlush,
java.lang.String encoding)
Return a PrintStream constructed from the supplied OutputStream and the encoding. |
static java.io.PrintStream |
newEncodedPrintStream(java.io.OutputStream os,
boolean autoFlush,
java.lang.String encoding,
boolean enable)
Return a PrintStream constructed from the supplied OutputStream and the encoding. |
static void |
peekOSMemory(long address,
byte[] bytes)
Peek bytes from OS memory. |
static void |
peekOSMemory(long address,
byte[] bytes,
int offset,
int len)
Peek bytes from OS memory. |
static long |
peekOSMemory(long address,
int len)
Peek (read) a long from OS memory. |
static void |
redirectStandardStreams()
A convenience method to redirect the standard streams using the default character encoding. |
static boolean |
redirectStandardStreams(java.lang.String requestedEncoding,
boolean enableTranscoding)
A static method which redirects the standard streams as follows: System.out is redirected to DD:STDOUT (required) System.err is redirected to DD:STDERR (required) System.in is redirected from DD:STDIN (optional) This method is invoked by the JZOSVM launcher to redirect the standard Java streams to MVS DDs. |
static void |
setDefaultPlatformEncoding(java.lang.String encoding)
Set the default output encoding for this instance of the JVM. |
static void |
setEnv(java.lang.String varName,
java.lang.String varValue)
Set an Environment variable. |
static void |
setLoggingLevel(int level)
Sets the logging level for the Toolkit native code. |
static void |
smfRecord(int type,
int subtype,
byte[] record)
Write a System Management Facility (SMF) record. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int LOG_ERR
public static final int LOG_WARN
public static final int LOG_NOTICE
public static final int LOG_INFO
public static final int LOG_DEBUG
public static final int LOG_TRACE
public static final int SMF_HEADER_PREFIX_LEN
Method Detail |
---|
public static java.lang.String getDefaultPlatformEncoding()
public static void setDefaultPlatformEncoding(java.lang.String encoding) throws java.io.UnsupportedEncodingException
encoding
- the charset encoding to use as a default
java.io.UnsupportedEncodingException
- if the encoding is not supportedpublic static java.lang.String[] environ()
This method reads and returns the values held in the C-library 'environ' global.
public static java.util.Properties getEnvironment()
public static java.lang.String getEnv(java.lang.String varName)
This method calls the getenv() C-library routine.
varName
- the name of the environment variable
public static void setEnv(java.lang.String varName, java.lang.String varValue) throws ErrnoException
This method calls the setenv() C-library routine.
varName
- the name of the environment variablevarValue
- the value of the environment variable
ErrnoException
- if the native call fails.public static java.lang.String getCurrentJobname()
public static java.lang.String getCurrentTsoPrefix()
public static java.lang.String getCurrentStepname()
public static java.lang.String getCurrentProcStepname()
public static java.lang.String getCurrentJobId()
public static long getCurrentTimeMicros()
This function uses the gettimeofday() C library function, which returns two 32-bit numbers containing the seconds since 1/1/1970, and the fractional microseconds.
public static long getCpuTimeMicros() throws RcException
This function calls the clock() C-Library function.
an
- (unchecked) RcException if call fails (not expected)
RcException
public static java.lang.String getCurrentUser() throws RcException
This is a convenience method that simply delegates to PlatformThread.getUserName()
RcException
public static java.lang.String getJavaVersionInfo()
public static java.lang.String getJzosJarVersion()
public static java.lang.String getJzosDllVersion()
public static long peekOSMemory(long address, int len) throws RcException
address
- the address of the OS memory to start peeking from.len
- the number of bytes to read into the returned long, must be <= 8
RcException
- if there is an error accessing the memory location.
java.lang.IllegalArgumentException
- if len > 8
java.lang.SecurityException
- if a a SecurityManager is active and the user doesn't have access to JzosPermission("peekOSMemory")public static void peekOSMemory(long address, byte[] bytes) throws RcException
address
- the address of the OS memory to start peeking from.bytes
- the location to store the bytes peeked, for bytes.length
RcException
- if there is an error accessing the memory location.
java.lang.SecurityException
- if a a SecurityManager is active and the user doesn't have access to JzosPermission("peekOSMemory")public static void peekOSMemory(long address, byte[] bytes, int offset, int len) throws RcException
address
- the address of the OS memory to start peeking from.bytes
- the location to store the bytes peekedoffset
- the 0-based offset into bytes where to store the first byte peekedlen
- the number of bytes to copy from memory
java.lang.IllegalArgumentException
- if offset and len are incompatible with bytes
RcException
- if there is an error accessing the memory location.
java.lang.SecurityException
- if a a SecurityManager is active and the user doesn't have access to JzosPermission("peekOSMemory")public static void logDiagnostic(int level, java.lang.String msg)
level
- one of the LOG_XXX constants defined abovemsg
- the message textpublic static void redirectStandardStreams() throws java.lang.Exception
JZOSVM calls this method on startup to cause System.out System.err and System.in to be directed to/from the job stream.
java.lang.Exception
- if the streams could not be redirected.public static boolean redirectStandardStreams(java.lang.String requestedEncoding, boolean enableTranscoding) throws java.lang.Exception
requestedEncoding
- the requested character encoding. If this encoding
is not supported, defaultPlatformEncoding is used.
true
if the requestedEncoding was used,
false
if the default was used.
java.lang.Exception
- if the streams could not be redirected.public static java.io.PrintStream newEncodedPrintStream(java.io.OutputStream os, boolean autoFlush) throws java.io.UnsupportedEncodingException
os
- the stream to base the PrintStream on.autoFlush
- whether or not to autoFlush.
java.io.UnsupportedEncodingException
public static java.io.PrintStream newEncodedPrintStream(java.io.OutputStream os, boolean autoFlush, java.lang.String encoding) throws java.io.UnsupportedEncodingException
os
- the stream to base the PrintStream on.autoFlush
- whether or not to autoFlushencoding
- the charset encoding to use
java.io.UnsupportedEncodingException
TranscodingPrintStream
public static java.io.PrintStream newEncodedPrintStream(java.io.OutputStream os, boolean autoFlush, java.lang.String encoding, boolean enable) throws java.io.UnsupportedEncodingException
os
- the stream to base the PrintStream on.autoFlush
- whether or not to autoFlushencoding
- the charset encoding to useenable
- whether or not to enable the transcoding
java.io.UnsupportedEncodingException
TranscodingPrintStream
public static void setLoggingLevel(int level)
level
- one of the LOG_XXX constants defined abovelogDiagnostic(int, String)
public static java.lang.String getCodePageCurrentLocale()
public static int getPid()
This method calls the getpid() C-library routine.
public static int getPPid()
This method calls the getppid() C-library routine.
public static void smfRecord(int type, int subtype, byte[] record) throws ErrnoException
This method calls the __smf_record() C-library routine. The first 24 bytes of the given record are reserved for the "Standard SMF Record Header with Subtypes", as described in the manual: "MVS Systems Management Facilities (SMF)".
Before writing the record, this API will overwrite the 24 byte SMF header area, filling in all header fields, including the current date/time and the system id (SID). If the SUBSYS starts with a blank or null(zero), then it is also filled in with either "JES2", "JES3", "TSO", or "STC" as appropriate. If the SUBSYS field starts with a character other than blank or null, then it is unchanged.
Note: The "TZ" environment variable must be properly set to the
correct timezone in order for the date/time in the SMF header to
reflect the current local time.
ErrnoException
- on failure.
Refer to __smf_record() api documentation for specific errno reason code constants,
which are provided as constants in the ErrnoException class.public static java.lang.String formatStackTrace(java.lang.Throwable t)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |