All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.com.ibm.as400.access.ISeriesNetServerSession Maven / Gradle / Ivy

There is a newer version: 11.1
Show newest version
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: ISeriesNetServerSession.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 1997-2000 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////

package com.ibm.as400.access;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 The ISeriesNetServerSession class represents a NetServer session.
 

Note: A session (represented by this class) corresponds to a workstation. A workstation could be a Windows Terminal Server or it could be a single PC on someone's desktop. A connection (represented by class {@link NetServerConnection NetServerConnection}) corresponds to a specific user who has mapped a drive and has files opened or spooled output on a print queue. Since a session can have multiple users, a connection shows a particular user's statistics on that session.

ISeriesNetServerSession objects are created and returned by {@link ISeriesNetServer#listSessions() listSessions()} and {@link ISeriesNetServer#listSessionsForWorkstation(String) listSessionsForWorkstation()}.

* import com.ibm.as400.access.*;
*
* // Create an ISeriesNetServer object for a specific system.
* AS400 system = new AS400("MYSYSTEM", "MYUSERID", "MYPASSWORD");
* ISeriesNetServer ns = new ISeriesNetServer(system);
*
* try
* {
*   // List all current sessions.
*   System.out.println("Sessions:");
*   ISeriesNetServerSession[] sessionList = ns.listSessions();
*   for (int i=0; i<sessionList.length; i++)
*   {
*     ISeriesNetServerSession session = sessionList[i];
*     System.out.println(session.getName() + ": " +
*       session.getUserName() + "; " +
*       session.getAge() + "; " +
*       session.isGuest() );
*   }
* }
* catch (AS400Exception e) {
*   AS400Message[] messageList = e.getAS400MessageList();
*   for (int i=0; i<messageList.length; i++) {
*     System.out.println(messageList[i].getText());
*   }
* }
* catch (Exception e) {
*   e.printStackTrace();
* }
* finally {
*   if (system != null) system.disconnectAllServices();
* }
**/ public class ISeriesNetServerSession implements java.io.Serializable { static final long serialVersionUID = 1L; // Private data. private String workstationName_; // Uniquely identifies a session on the system. private long sessionID_; // This also uniquely identifies a session on the system. private int numberOfConnections_; private int sessionAge_; private int numberOfFilesOpen_; private int idleTime_; private boolean isPasswordEncrypted_; private boolean isGuestSession_; private String userName_; // This method is reserved for use by the ISeriesNetServer class. ISeriesNetServerSession(String workstation, long sessionID, int numConnections, int sessionAge, int numFilesOpen, int idleTime, boolean isEncryptedPwd, boolean isGuest, String user) { setAttributeValues(workstation, sessionID, numConnections, sessionAge, numFilesOpen, idleTime, isEncryptedPwd, isGuest, user); } // This method is reserved for use by the ISeriesNetServer class. void setAttributeValues(String workstation, long sessionID, int numConnections, int sessionAge, int numFilesOpen, int idleTime, boolean isEncryptedPwd, boolean isGuest, String user) { workstationName_ = workstation; sessionID_ = sessionID; numberOfConnections_ = numConnections; sessionAge_ = sessionAge; numberOfFilesOpen_ = numFilesOpen; idleTime_ = idleTime; isPasswordEncrypted_ = isEncryptedPwd; isGuestSession_ = isGuest; userName_ = user; } /** Returns the name of the workstation from which the session to the system was established. @return The workstation name. **/ public String getName() { return workstationName_; } /** Returns the unique identifier for the system session. Note: The session identifier was added to the NetServer API's in V5R1. @return The session identifier. **/ public long getID() { return sessionID_; } /** Returns the number of connections made during the session. @return The number of connections. **/ public int getNumberOfConnections() { return numberOfConnections_; } /** Returns the number of seconds that the session has been active. @return The session time. **/ public int getAge() { return sessionAge_; } /** Returns the number of files that are currently open for the session. @return The files open count. **/ public int getNumberOfFilesOpen() { return numberOfFilesOpen_; } /** Returns the number of seconds the session has been idle. @return The session idle time. **/ public int getIdleTime() { return idleTime_; } /** Indicates whether or not the encrypted password was used to establish the session. @return true if the encrypted password was used. **/ public boolean isPasswordEncrypted() { return isPasswordEncrypted_; } /** Indicates whether or not the session is a guest session. @return true if the session is a guest session. **/ public boolean isGuest() { return isGuestSession_; } /** Returns the name of the user that is associated with the session. @return The user name. **/ public String getUserName() { return userName_; } // Implementation note: The API's also define a "session count" attribute. // This attribute represents the number of sessions that are established between the server and the requester. This value is always 0 or 1. // Since this attribute seems to be of very limited value, we won't surface it unless someone says they need it. }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy