com.ibm.as400.access.ISeriesNetServerConnection Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: ISeriesNetServerConnection.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 ISeriesNetServerConnection class represents a NetServer share connection.
Note: A session (represented by class {@link ISeriesNetServerSession ISeriesNetServerSession}) 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 this class) 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.
ISeriesNetServerConnection objects are created and returned by the following methods:
- {@link ISeriesNetServer#listConnectionsForSession(long) listConnectionsForSession}
- {@link ISeriesNetServer#listConnectionsForSession(String) listConnectionsForSession}
- {@link ISeriesNetServer#listConnectionsForShare(String) listConnectionsForShare}
* import com.ibm.as400.access.*;
*
* // Create a ISeriesNetServer object for a specific system.
* AS400 system = new AS400("MYSYSTEM", "MYUSERID", "MYPASSWORD");
* ISeriesNetServer ns = new ISeriesNetServer(system);
*
* try
* {
* // List all current session connections.
* System.out.println("Session connections:");
* ISeriesNetServerSession[] sessionList = ns.listSessions();
* ISeriesNetServerConnection[] connectionList =
* ns.listConnectionsForSession(sessionList[0].getID());
* for (int i=0; i<connectionList.length; i++)
* {
* ISeriesNetServerConnection connection = connectionList[i];
* System.out.println(connection.getID() + ": " +
* connection.getName() + "; " +
* connection.getUserName() + "; " +
* connection.getAge());
* }
* }
* 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();
* }
@see ISeriesNetServer#listConnectionsForSession(long)
@see ISeriesNetServer#listConnectionsForSession(String)
**/
public class ISeriesNetServerConnection implements java.io.Serializable
{
static final long serialVersionUID = 1L;
/**
Value of the ISeriesNetServerConnection "resource type" attribute, indicating that the connection is from a specific workstation.
**/
public static final int WORKSTATION = 0;
/**
Value of the ISeriesNetServerConnection "resource type" attribute, indicating that the connection is to a specific share.
**/
public static final int SHARE = 1;
/**
Value of the ISeriesNetServerConnection "connection type" attribute, indicating that the connection is to a disk drive, that is, a file share.
**/
public static final int DISK_DRIVE = 0;
/**
Value of the ISeriesNetServerConnection "connection type" attribute, indicating that the connection is to a spooled output queue, that is, a print share.
**/
public static final int SPOOLED_OUTPUT_QUEUE = 1;
//----------------------------------------------------------------------
// Private data.
//----------------------------------------------------------------------
private ISeriesNetServer netServer_;
private int connectTime_;
private int numberOfFilesOpen_;
private String resourceName_; // either "share name" or "workstation name"
private int connectionType_;
private String userName_;
private int numberOfUsers_;
private int connectionID_;
private long sessionID_;
private int resourceType_; // SHARE or WORKSTATION
// Note: This constructor is reserved for use by the ISeriesNetServer class.
ISeriesNetServerConnection(int connectionID, int connectTime, int filesOpen, int connType, String resourceName, int resourceType, String userName, int userCount, long sessionID)
{
// Assume the caller has already validated the arguments (non-null, etc).
setAttributeValues(connectionID, connectTime, filesOpen, connType, resourceName, resourceType, userName, userCount, sessionID);
}
// Note: This method is reserved for use by the ISeriesNetServer class.
void setAttributeValues(int connectionID, int connectTime, int filesOpen, int connType, String resourceName, int resourceType, String userName, int userCount, long sessionID)
{
// Assume the caller has already validated the arguments (non-null, etc).
resourceName_ = resourceName;
connectionID_ = connectionID;
connectTime_ = connectTime;
numberOfFilesOpen_ = filesOpen;
connectionType_ = connType;
userName_ = userName;
numberOfUsers_ = userCount;
sessionID_ = sessionID;
resourceType_ = resourceType;
}
/**
Returns the connection ID.
@return The connection ID.
**/
public int getID()
{
return connectionID_;
}
/**
Returns the session ID for connection.
@return The session ID.
**/
public long getSessionID()
{
return sessionID_;
}
/**
Returns the number of seconds elapsed since the connection was established.
@return The connect time.
**/
public int getAge()
{
return connectTime_;
}
/**
Returns the number of files that are open currently (on the connection).
@return The number of files open.
**/
public int getNumberOfFilesOpen()
{
return numberOfFilesOpen_;
}
/**
Returns the network name of the resource.
If the resource type is {@link #SHARE SHARE}, this is the name of a share.
If the resource type is {@link #WORKSTATION WORKSTATION}, this is the name of a workstation.
@return The name of the share or workstation.
**/
public String getName()
{
return resourceName_;
}
/**
Returns the type of resource for this connection.
Possible values are {@link #WORKSTATION WORKSTATION} and {@link #SHARE SHARE}.
@return The resource type.
**/
public int getResourceType()
{
return resourceType_;
}
/**
Returns the type of the connection made from the workstation to the shared resource.
Possible values are {@link #DISK_DRIVE DISK_DRIVE} and {@link #SPOOLED_OUTPUT_QUEUE SPOOLED_OUTPUT_QUEUE}.
@return The connection type.
**/
public int getConnectionType()
{
return connectionType_;
}
/**
Returns the name of the user that is associated with the connection.
@return The user name.
**/
public String getUserName()
{
return userName_;
}
/**
Returns the number of current users on the connection.
@return The number of users.
**/
public int getNumberOfUsers()
{
return numberOfUsers_;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy