com.ibm.as400.security.auth
Class ProfileHandleCredential

com.ibm.as400.security.auth.AS400Credential
  |
  +--com.ibm.as400.security.auth.ProfileHandleCredential
All Implemented Interfaces:
java.io.Serializable

public final class ProfileHandleCredential
extends AS400Credential

The ProfileHandleCredential class represents an AS/400 profile handle.

This credential does not support all possible behavior for AS/400 profile handles. It is provided to fill a secondary role in support of other credentials when running on the local AS/400 system. A profile handle credential provides the ability to store the current OS/400 thread identity and restore that identity after performing a swap based on another credential (i.e. ProfileTokenCredential).

See Also:
AS400Credential, ProfileTokenCredential, Serialized Form

Field Summary
static int HANDLE_LENGTH
          Indicates the length of a profile handle (in bytes)
 
Fields inherited from class com.ibm.as400.security.auth.AS400Credential
CR_AUTO_REFRESH_FAILED, CR_AUTO_REFRESH_NOT_VALID, CR_AUTO_REFRESH_STARTED, CR_AUTO_REFRESH_STOPPED
 
Constructor Summary
ProfileHandleCredential()
          Constructs a ProfileHandleCredential object.
 
Method Summary
 boolean equals(java.lang.Object o)
          Compares the specified Object with the credential for equality.
 byte[] getHandle()
          Returns the actual bytes for the handle as it exists on the AS/400 system.
 int hashCode()
          Returns a hash code for this credential.
 void setHandle()
          Sets the handle based on the current OS/400 thread identity.
 void setHandle(byte[] bytes)
          Sets the actual bytes for the handle as it exists on the AS/400 system.
 
Methods inherited from class com.ibm.as400.security.auth.AS400Credential
addCredentialListener, addPropertyChangeListener, addVetoableChangeListener, basicAuthenticationPrompt, destroy, finalize, getAutomaticRefreshFailure, getAutomaticRefreshStatus, getPrincipal, getSystem, getTimeToExpiration, isCurrent, isDestroyed, isPrivate, isRenewable, isTimed, refresh, removeCredentialListener, removePropertyChangeListener, removeVetoableChangeListener, setPrincipal, setSystem, startAutomaticRefresh, stopAutomaticRefresh, swap, swap
 

Field Detail

HANDLE_LENGTH

public static int HANDLE_LENGTH
Indicates the length of a profile handle (in bytes)
Constructor Detail

ProfileHandleCredential

public ProfileHandleCredential()
Constructs a ProfileHandleCredential object.
Method Detail

equals

public boolean equals(java.lang.Object o)
Compares the specified Object with the credential for equality.
Parameters:
o - Object to be compared for equality.
Returns:
true if equal; otherwise false.

getHandle

public byte[] getHandle()
Returns the actual bytes for the handle as it exists on the AS/400 system.
Returns:
The handle bytes; null if not set.

hashCode

public int hashCode()
Returns a hash code for this credential.
Returns:
a hash code for this credential.

setHandle

public void setHandle()
               throws java.beans.PropertyVetoException,
                      AS400SecurityException
Sets the handle based on the current OS/400 thread identity.

The system property must be set prior to invoking this method.

If successful, this method results in a new profile handle being created on the AS/400 system.

This property cannot be changed once a request initiates a connection for the object to the AS/400 system.

Throws:
AS400SecurityException - If an AS/400 security or authentication error occurs.
java.beans.PropertyVetoException - If the change is vetoed.
ExtendedIllegalStateException - If the token cannot be initialized due to the current state.

setHandle

public void setHandle(byte[] bytes)
               throws java.beans.PropertyVetoException
Sets the actual bytes for the handle as it exists on the AS/400 system.

This method allows a credential to be constructed based on an existing handle (i.e. previously created using the QSYGETPH system API).

This property cannot be changed once a request initiates a connection for the object to the AS/400 system.

Parameters:
bytes - The handle bytes.
Throws:
java.beans.PropertyVetoException - If the change is vetoed.
ExtendedIllegalArgumentException - If the provided value exceeds the maximum allowed length.
ExtendedIllegalStateException - If the property cannot be changed due to the current state.