com.ibm.as400.resource
Class RJavaProgram
java.lang.Object
|
+--com.ibm.as400.resource.Resource
|
+--com.ibm.as400.resource.ChangeableResource
|
+--com.ibm.as400.resource.RJavaProgram
- All Implemented Interfaces:
- java.io.Serializable
- public class RJavaProgram
- extends ChangeableResource
The RJavaProgram class represents an OS/400 Java program. This is supported
only when connecting to servers running OS/400 V5R1 or later.
In the context of this discussion, a "Java program" is the OS/400 executable object that is created when the CRTJVAPGM (Create Java Program) CL command is run against a class, JAR, or ZIP file.
The following attribute IDs are supported:
Use any of these attribute IDs with
getAttributeValue()
and setAttributeValue()
to access the attribute values for an RJavaProgram.
// Create an RJavaProgram object to refer to a specific Java program.
AS400 system = new AS400("MYSYSTEM", "MYUSERID", "MYPASSWORD");
RJavaProgram javaProgram = new RJavaProgram(system, "/home/mydir/HelloWorld.class");
// Get the optimization.
Integer optimization = (Integer)javaProgram.getAttributeValue(RJavaProgram.OPTIMIZATION);
// Set the enable peformance collection attribute value to full.
javaProgram.setAttributeValue(RJavaProgram.ENABLE_PERFORMANCE_COLLECTION, RJavaProgram.ENABLE_PERFORMANCE_COLLECTION_FULL);
// Commit the attribute change.
javaProgram.commitAttributeChanges();
- See Also:
- Serialized Form
Field Summary |
static java.lang.String |
CLASSES_WITH_CURRENT_JAVA_PROGRAMS
Attribute ID for classes with current Java programs. |
static java.lang.String |
CLASSES_WITH_ERRORS
Attribute ID for classes with errors. |
static java.lang.String |
CLASSES_WITHOUT_CURRENT_JAVA_PROGRAMS
Attribute ID for classes without current Java programs. |
static java.lang.String |
ENABLE_PERFORMANCE_COLLECTION
Attribute ID for enable performance collection. |
static java.lang.String |
ENABLE_PERFORMANCE_COLLECTION_ENTRY_EXIT
Attribute value indicating that the entry/exit information on all the procedures of the Java
program (including those that are leaf procedures) is given. |
static java.lang.String |
ENABLE_PERFORMANCE_COLLECTION_FULL
Attribute value indicating that the entry/exit information on all procedures of the Java
program (including those that are leaf procedures) and precall and postcall
hooks around calls to other procedures is given. |
static java.lang.String |
ENABLE_PERFORMANCE_COLLECTION_NONE
Attribute value indicating that no performance collection is enabled for this Java program. |
static java.lang.String |
FILE_CHANGE
Attribute ID for file change. |
static java.lang.String |
JAVA_PROGRAM_CREATION
Attribute ID for Java program creation. |
static java.lang.String |
JAVA_PROGRAM_SIZE
Attribute ID for Java program size. |
static java.lang.String |
JAVA_PROGRAMS
Attribute ID for Java programs. |
static java.lang.String |
LICENSED_INTERNAL_CODE_OPTIONS
Attribute ID for licensed internal code options. |
static java.lang.String |
NO
Attribute value for no. |
static java.lang.String |
OPTIMIZATION
Attribute ID for optimization. |
static java.lang.Integer |
OPTIMIZATION_10
Attribute value indicating that the Java program contains a compiled version
of the class file byte codes but has only minimal additional compiler optimization. |
static java.lang.Integer |
OPTIMIZATION_20
Attribute value indicating that the Java program contains a compiled version
of the class file byte codes and has some additional compiler optimization. |
static java.lang.Integer |
OPTIMIZATION_30
Attribute value indicating that the Java program contains a compiled version
of the class file byte codes and has more compiler optimization than optimization
level 20. |
static java.lang.Integer |
OPTIMIZATION_40
Attribute value indicating that the Java program contains a compiled version
of the class file byte codes and has more compiler optimization than optimization
level 30. |
static java.lang.Integer |
OPTIMIZATION_INTERPRET
Attribute value indicating that the Java program is not optimized. |
static java.lang.String |
OWNER
Attribute ID for owner. |
static java.lang.String |
PROFILING_DATA
Attribute ID for profiling data. |
static java.lang.String |
PROFILING_DATA_APPLY
Attribute value indicating that profiling data collection is applied for this Java program. |
static java.lang.String |
PROFILING_DATA_CLEAR
Attribute value indicating that all profiling data that has been collected
for this Java program is to be cleared. |
static java.lang.String |
PROFILING_DATA_COLLECTION
Attribute value indicating that profiling data collection is enabled for this Java program. |
static java.lang.String |
PROFILING_DATA_NOCOLLECTION
Attribute value indicating that no profiling data collection is enabled for this Java program. |
static java.lang.String |
RELEASE_PROGRAM_CREATED_FOR
Attribute ID for release program created for. |
static java.lang.String |
TOTAL_CLASSES_IN_SOURCE
Attribute ID for total classes in source. |
static java.lang.String |
USE_ADOPTED_AUTHORITY
Attribute ID for use adopted authority. |
static java.lang.String |
USER_PROFILE
Attribute ID for user profile. |
static java.lang.String |
USER_PROFILE_OWNER
Attribute value indicating that the authority checking that was done while
this program is running should include both the use who is running the program
and the program owner. |
static java.lang.String |
USER_PROFILE_USER
Attribute value indicating that the authority checking that was done while
this program is running should include only the user who is running the program. |
static java.lang.String |
YES
Attribute value for yes. |
Constructor Summary |
RJavaProgram()
Constructs an RJavaProgram object. |
RJavaProgram(AS400 system,
java.lang.String path)
Constructs an RJavaProgram object. |
Method Summary |
protected void |
commitAttributeChanges(java.lang.Object[] attributeIDs,
java.lang.Object[] values)
Commits the specified attribute changes. |
void |
delete()
Deletes the Java program. |
protected void |
establishConnection()
Establishes the connection to the AS/400. |
protected void |
freezeProperties()
Freezes any property changes. |
java.lang.Object |
getAttributeUnchangedValue(java.lang.Object attributeID)
Returns the unchanged value of an attribute. |
java.lang.String |
getPath()
Returns the path. |
void |
refreshAttributeValues()
Refreshes the values for all attributes. |
void |
setPath(java.lang.String path)
Sets the path. |
java.lang.String |
toString()
Returns the path. |
Methods inherited from class com.ibm.as400.resource.ChangeableResource |
cancelAttributeChanges, commitAttributeChanges, commitAttributeChanges, fireAttributeChangesCanceled, fireAttributeChangesCommitted, fireAttributeValueChanged, fireResourceCreated, fireResourceDeleted, getAttributeUnchangedValue, getAttributeValue, getAttributeValue, hasUncommittedAttributeChanges, initializeAttributeValue, setAttributeValue, setAttributeValue |
Methods inherited from class com.ibm.as400.resource.Resource |
addActiveStatusListener, addPropertyChangeListener, addResourceListener, addVetoableChangeListener, arePropertiesFrozen, equals, fireAttributeValuesRefreshed, fireBusy, fireIdle, firePropertyChange, fireVetoableChange, getAttributeMetaData, getAttributeMetaData, getPresentation, getResourceKey, getSystem, isBidiEnabled, isConnectionEstablished, removeActiveStatusListener, removePropertyChangeListener, removeResourceListener, removeVetoableChangeListener, setPresentation, setResourceKey, setSystem |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
YES
public static final java.lang.String YES
- Attribute value for yes.
NO
public static final java.lang.String NO
- Attribute value for no.
TOTAL_CLASSES_IN_SOURCE
public static final java.lang.String TOTAL_CLASSES_IN_SOURCE
- Attribute ID for total classes in source. This identifies a read-only
Integer attribute, which represents the total number of classes located
within the ZIP or JAR file.
CLASSES_WITH_ERRORS
public static final java.lang.String CLASSES_WITH_ERRORS
- Attribute ID for classes with errors. This identifies a read-only
Integer attribute, which represents the number of classes in the
file that contain errors.
CLASSES_WITH_CURRENT_JAVA_PROGRAMS
public static final java.lang.String CLASSES_WITH_CURRENT_JAVA_PROGRAMS
- Attribute ID for classes with current Java programs. This identifies
a read-only Integer attribute, which represents the number of classes
in the file which have current Java programs.
CLASSES_WITHOUT_CURRENT_JAVA_PROGRAMS
public static final java.lang.String CLASSES_WITHOUT_CURRENT_JAVA_PROGRAMS
- Attribute ID for classes without current Java programs. This identifies
a read-only Integer attribute, which represents the number of classes
in the file which do not have current Java programs.
ENABLE_PERFORMANCE_COLLECTION
public static final java.lang.String ENABLE_PERFORMANCE_COLLECTION
- Attribute ID for enable performance collection. This identifies a
String attribute, which represents the level of performance data
collection allowed for this Java program. Possible
values are:
- ENABLE_PERFORMANCE_COLLECTION_NONE
- No performance collection is enabled for this Java program.
- ENABLE_PERFORMANCE_COLLECTION_ENTRY_EXIT
- This gives the entry/exit information on all the procedures of the Java
program (including those that are leaf procedures). This includes the
PEP routine. This is useful in capturing information on all procedures.
- ENABLE_PERFORMANCE_COLLECTION_FULL
- This gives the entry/exit information on all procedures of the Java
program (including those that are leaf procedures) and precall and postcall
hooks around calls to other procedures. This is useful in capturing
information on all procedures.
ENABLE_PERFORMANCE_COLLECTION_NONE
public static final java.lang.String ENABLE_PERFORMANCE_COLLECTION_NONE
- Attribute value indicating that no performance collection is enabled for this Java program.
- See Also:
ENABLE_PERFORMANCE_COLLECTION
ENABLE_PERFORMANCE_COLLECTION_ENTRY_EXIT
public static final java.lang.String ENABLE_PERFORMANCE_COLLECTION_ENTRY_EXIT
- Attribute value indicating that the entry/exit information on all the procedures of the Java
program (including those that are leaf procedures) is given. This includes the
PEP routine. This is useful in capturing information on all procedures.
- See Also:
ENABLE_PERFORMANCE_COLLECTION
ENABLE_PERFORMANCE_COLLECTION_FULL
public static final java.lang.String ENABLE_PERFORMANCE_COLLECTION_FULL
- Attribute value indicating that the entry/exit information on all procedures of the Java
program (including those that are leaf procedures) and precall and postcall
hooks around calls to other procedures is given. This is useful in capturing
information on all procedures.
- See Also:
ENABLE_PERFORMANCE_COLLECTION
PROFILING_DATA
public static final java.lang.String PROFILING_DATA
- Attribute ID for profiling data. This identifies a
String attribute, which indicates if the Java program is
collecting profiling data. Possible values are:
- PROFILING_DATA_NOCOLLECTION
- No profiling data collection is enabled for this Java program.
- PROFILING_DATA_COLLECTION
- Profiling data collection is enabled for this Java program. This
enablement can only occur if the optimization of the Java program is
30 or higher. Also, collection does not occur until the profiling
data is applied.
- PROFILING_DATA_APPLY
- Profiling data collection is applied for this Java program.
- PROFILING_DATA_CLEAR
- All profiling data that has been collected for this Java program is to
be cleared.
PROFILING_DATA_NOCOLLECTION
public static final java.lang.String PROFILING_DATA_NOCOLLECTION
- Attribute value indicating that no profiling data collection is enabled for this Java program.
- See Also:
PROFILING_DATA
PROFILING_DATA_COLLECTION
public static final java.lang.String PROFILING_DATA_COLLECTION
- Attribute value indicating that profiling data collection is enabled for this Java program.
This enablement can only occur if the optimization of the Java program is 30 or higher.
Also, collection does not occur until the profiling data is applied.
- See Also:
PROFILING_DATA
PROFILING_DATA_APPLY
public static final java.lang.String PROFILING_DATA_APPLY
- Attribute value indicating that profiling data collection is applied for this Java program.
- See Also:
PROFILING_DATA
PROFILING_DATA_CLEAR
public static final java.lang.String PROFILING_DATA_CLEAR
- Attribute value indicating that all profiling data that has been collected
for this Java program is to be cleared.
- See Also:
PROFILING_DATA
FILE_CHANGE
public static final java.lang.String FILE_CHANGE
- Attribute ID for file change. This identifies a read-only
Date attribute, which represents the date and time when the file
was last changed. The Date value is converted using the default Java locale.
JAVA_PROGRAMS
public static final java.lang.String JAVA_PROGRAMS
- Attribute ID for Java programs. This identifies a read-only
Integer attribute, which represents the number of Java
programs associated with the file.
JAVA_PROGRAM_CREATION
public static final java.lang.String JAVA_PROGRAM_CREATION
- Attribute ID for Java program creation. This identifies a read-only
Date attribute, which represents the date and time when the Java
program was created. If this is a zip or jar file, this is the
date and time when the first Java program was attached to the file.
If this is class file, this is the date and time when the Java
program was created. The Date value is converted using the default Java locale.
JAVA_PROGRAM_SIZE
public static final java.lang.String JAVA_PROGRAM_SIZE
- Attribute ID for Java program size. This identifies
a read-only Long attribute, which represents the size, in kilobytes,
of the Java programs that are attached to the file.
LICENSED_INTERNAL_CODE_OPTIONS
public static final java.lang.String LICENSED_INTERNAL_CODE_OPTIONS
- Attribute ID for licensed internal code options. This identifies
a String attribute, which represents the selected licensed
internal code (LIC) compile-time options that are used when
the Java program was created.
OPTIMIZATION
public static final java.lang.String OPTIMIZATION
- Attribute ID for optimization. This identifies an Integer attribute,
which represents the optimization level of the AS/400 Java program. Possible
values are:
- OPTIMIZATION_INTERPRET
- The Java program is not optimized. When invoked, the Java program
interprets the class file byte codes. Variables can be displayed and
modified while debugging.
- OPTIMIZATION_10
- The Java program contains a compiled version of the class file byte codes
but has only minimal additional compiler optimization. Variables can be
displayed and modified while debugging.
- OPTIMIZATION_20
- The Java program contains a compiled version of the class file byte codes
and has some additional compiler optimization. Variables can be displayed
but not modified while debugging.
- OPTIMIZATION_30
- The Java program contains a compiled version of the class file byte codes
and has more compiler optimization than optimization level 20. During a
debug session, user variables cannot be changed, but can be displayed.
The presented values may not be the current values of the variables.
- OPTIMIZATION_40
- The Java program contains a compiled version of the class file byte codes
and has more compiler optimization than optimization level 30. All call and
instruction tracing is disabled.
OPTIMIZATION_INTERPRET
public static final java.lang.Integer OPTIMIZATION_INTERPRET
- Attribute value indicating that the Java program is not optimized. When invoked,
the Java program interprets the class file byte codes. Variables can be displayed and
modified while debugging.
- See Also:
OPTIMIZATION
OPTIMIZATION_10
public static final java.lang.Integer OPTIMIZATION_10
- Attribute value indicating that the Java program contains a compiled version
of the class file byte codes but has only minimal additional compiler optimization.
Variables can be displayed and modified while debugging.
- See Also:
OPTIMIZATION
OPTIMIZATION_20
public static final java.lang.Integer OPTIMIZATION_20
- Attribute value indicating that the Java program contains a compiled version
of the class file byte codes and has some additional compiler optimization.
Variables can be displayed but not modified while debugging.
- See Also:
OPTIMIZATION
OPTIMIZATION_30
public static final java.lang.Integer OPTIMIZATION_30
- Attribute value indicating that the Java program contains a compiled version
of the class file byte codes and has more compiler optimization than optimization
level 20. During a debug session, user variables cannot be changed, but can be
displayed. The presented values may not be the current values of the variables.
- See Also:
OPTIMIZATION
OPTIMIZATION_40
public static final java.lang.Integer OPTIMIZATION_40
- Attribute value indicating that the Java program contains a compiled version
of the class file byte codes and has more compiler optimization than optimization
level 30. All call and instruction tracing is disabled.
- See Also:
OPTIMIZATION
OWNER
public static final java.lang.String OWNER
- Attribute ID for owner. This identifies a read-only
String attribute, which represents the owner of the
Java program.
RELEASE_PROGRAM_CREATED_FOR
public static final java.lang.String RELEASE_PROGRAM_CREATED_FOR
- Attribute ID for release program created for. This identifies
a read-only String attribute, which represents the release of the
operating system for which the object was created.
USE_ADOPTED_AUTHORITY
public static final java.lang.String USE_ADOPTED_AUTHORITY
- Attribute ID for use adopted authority. This identifies a read-only
String attribute, which indicates if the Java programs use adopted authority
from previous call levels in the stack. Possible values are:
USER_PROFILE
public static final java.lang.String USER_PROFILE
- Attribute ID for user profile. This identifies a read-only
String attribute, which represents who the authority checking
that was done while this program is running should include.
Possible values are:
- USER_PROFILE_USER
- Indicates that the authority checking that was done while
this program is running should include only the user
who is running the program.
- USER_PROFILE_OWNER
- Indicates that the authority checking that was done while
this program is running should include both the use
who is running the program and the program owner.
USER_PROFILE_USER
public static final java.lang.String USER_PROFILE_USER
- Attribute value indicating that the authority checking that was done while
this program is running should include only the user who is running the program.
- See Also:
USER_PROFILE
USER_PROFILE_OWNER
public static final java.lang.String USER_PROFILE_OWNER
- Attribute value indicating that the authority checking that was done while
this program is running should include both the use who is running the program
and the program owner.
- See Also:
USER_PROFILE
RJavaProgram
public RJavaProgram()
- Constructs an RJavaProgram object.
RJavaProgram
public RJavaProgram(AS400 system,
java.lang.String path)
- Constructs an RJavaProgram object.
- Parameters:
system
- The system.path
- The path. This can be any class, jar, or zip file.
commitAttributeChanges
protected void commitAttributeChanges(java.lang.Object[] attributeIDs,
java.lang.Object[] values)
throws ResourceException
- Commits the specified attribute changes.
- Overrides:
commitAttributeChanges
in class ChangeableResource
- Throws:
ResourceException
- If an error occurs.
delete
public void delete()
throws ResourceException
- Deletes the Java program. This does not delete the class, jar, or zip file.
- Throws:
ResourceException
- If an error occurs.
establishConnection
protected void establishConnection()
throws ResourceException
- Establishes the connection to the AS/400.
The method is called by the resource framework automatically
when the connection needs to be established.
- Overrides:
establishConnection
in class Resource
- Throws:
ResourceException
- If an error occurs.
freezeProperties
protected void freezeProperties()
throws ResourceException
- Freezes any property changes. After this is called, property
changes should not be made. Properties are not the same thing
as attributes. Properties are basic pieces of information
which must be set to make the object usable, such as the system
and path.
The method is called by the resource framework automatically
when the properties need to be frozen.
- Overrides:
freezeProperties
in class Resource
- Throws:
ResourceException
- If an error occurs.
getAttributeUnchangedValue
public java.lang.Object getAttributeUnchangedValue(java.lang.Object attributeID)
throws ResourceException
- Returns the unchanged value of an attribute. If the attribute
value has a uncommitted change, this returns the unchanged value.
If the attribute value does not have a uncommitted change, this
returns the same value as getAttributeValue().
- Overrides:
getAttributeUnchangedValue
in class ChangeableResource
- Parameters:
attributeID
- Identifies the attribute.- Returns:
- The attribute value, or null if the attribute
value is not available.
- Throws:
ResourceException
- If an error occurs.
getPath
public java.lang.String getPath()
- Returns the path.
- Returns:
- The path.
refreshAttributeValues
public void refreshAttributeValues()
throws ResourceException
- Refreshes the values for all attributes. This does not cancel
uncommitted changes. This method fires an attributeValuesRefreshed()
ResourceEvent.
- Overrides:
refreshAttributeValues
in class ChangeableResource
- Throws:
ResourceException
- If an error occurs.
setPath
public void setPath(java.lang.String path)
- Sets the path. This does not change the Java program
on the AS/400. Instead, it changes the Java program
that this object references.
- Parameters:
path
- The path. This can be any class, jar, or zip file.
toString
public java.lang.String toString()
- Returns the path.
- Overrides:
toString
in class Resource
- Returns:
- The path.