no.gar.glink.api
Class GlinkConfiguration

java.lang.Object
  extended by no.gar.glink.api.GlinkConfiguration

public class GlinkConfiguration
extends java.lang.Object

This class enables you to create a configuration used to set the necessary parameters for connecting to a given host application. Normally the administration program is used to create and manage various configurations (session descriptions). But configurations can also be created on the fly with this class. They are made available to GlinkApi objects with its addConfiguration method.

A "configuration" is a session description with enough information for Glink to be able to connect to a given host application. In other words there is one "configuration" for each host application made available to the users.

Each configuration is given a name, normally referred to as the "session name". When starting Glink, the user is presented a list with session names. When the user selects an entry from this list, he selects a configuration with that name.

From a GlinkApi object a configuration (session) is selected with the GlinkApi.sessionName() method.

The parameters in a configuration are grouped into six different types of profiles: host connection, emulation, screen display, keyboard layout, printer configuration, and toolbar setup. Each profile has a name. All the profiles in a GlinkConfiguration object are given the same name as the object itself and all the parameters are given default values. Sometimes it may be convenient to instruct the GlinkConfiguration object to use an existing profile created by the Glink Administration utility than changing the default value for a number paramters. This is done by the setProfileName method. The GlinkConfiguration object will then use this profile with its parameters instead of the default parameters.

The default value for any configuration parameter can be changed with the setParameter method regardless of which profile the parameter belongs to.

If a GlinkConfiguration object is given the special name OVERRIDE_PARAMS, its parameters will always override those loaded from the standard configuration.

Important: The OVERRIDE_PARAMS feature is exclusive, i.e. you cannot add more than one GlinkConfiguration object if it has this name, otherwise the results will be unpredictable.

See Also:
GlinkApi.addConfiguration(no.gar.glink.api.GlinkConfiguration), GlinkApi.sessionName

Field Summary
static int EMULATION_3270
           
static int EMULATION_5250
           
static int EMULATION_ANSI
           
static int EMULATION_DKU
           
static int EMULATION_DKU7102
           
static int EMULATION_MINITEL
           
static int EMULATION_TTY
           
static int EMULATION_VIEWDATA
           
static int EMULATION_VIP7700
           
static int EMULATION_VIP7801
           
static int EMULATION_VIP7804
           
static int EMULATION_VT
           
static java.lang.String OVERRIDE_PARAMS
          Special GlinkConfiguration name used as a generic parameter override.
static int PROFILE_EMULATION
           
static int PROFILE_HOST
           
static int PROFILE_KEYBOARD
           
static int PROFILE_PRINTER
           
static int PROFILE_SCREEN
           
static int PROFILE_TOOLBAR
           
static int PROTOCOL_DSA
           
static int PROTOCOL_GGATE_DIWS
           
static int PROTOCOL_GGATE_DSA
           
static int PROTOCOL_GGATE_DSA_CXI
           
static int PROTOCOL_GTEA
           
static int PROTOCOL_MINITEL
           
static int PROTOCOL_TCP_RAW
           
static int PROTOCOL_TELNET
           
static int PROTOCOL_TELNET3270
           
static int PROTOCOL_TELNET5250
           
static int PROTOCOL_TNVIP
           
 
Constructor Summary
GlinkConfiguration(java.lang.String name)
          This constructor creates a default configuration.
GlinkConfiguration(java.lang.String name, int emulation, int protocol, java.lang.String address)
          This constructor creates a configuration with the given emulation and host protocol and the address to the host.
 
Method Summary
 java.lang.String getName()
          Returns the name of the configuration.
 java.lang.String getProfileName(int type)
          Returns the name of the profile with the given type.
 void setParameter(java.lang.String parameter)
          Sets the specific parameter with the given value.
 void setProfileName(int type, java.lang.String name)
          Sets the profile of the given type to be used with this configuration.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMULATION_3270

public static final int EMULATION_3270
See Also:
Constant Field Values

EMULATION_5250

public static final int EMULATION_5250
See Also:
Constant Field Values

EMULATION_ANSI

public static final int EMULATION_ANSI
See Also:
Constant Field Values

EMULATION_DKU

public static final int EMULATION_DKU
See Also:
Constant Field Values

EMULATION_DKU7102

public static final int EMULATION_DKU7102
See Also:
Constant Field Values

EMULATION_MINITEL

public static final int EMULATION_MINITEL
See Also:
Constant Field Values

EMULATION_TTY

public static final int EMULATION_TTY
See Also:
Constant Field Values

EMULATION_VIEWDATA

public static final int EMULATION_VIEWDATA
See Also:
Constant Field Values

EMULATION_VIP7700

public static final int EMULATION_VIP7700
See Also:
Constant Field Values

EMULATION_VIP7801

public static final int EMULATION_VIP7801
See Also:
Constant Field Values

EMULATION_VIP7804

public static final int EMULATION_VIP7804
See Also:
Constant Field Values

EMULATION_VT

public static final int EMULATION_VT
See Also:
Constant Field Values

OVERRIDE_PARAMS

public static final java.lang.String OVERRIDE_PARAMS
Special GlinkConfiguration name used as a generic parameter override. If you add a GlinkConfiguration with this name to the API object, the parameters it contains will always override the corresponding parameters loaded from the standard Glink configuration database, regardless of the session name in use. It is exclusive in the sense that if you add it, do not add other GlinkConfiguration objects to the same API object, or else results will be unpredictable.

See Also:
Constant Field Values

PROFILE_EMULATION

public static final int PROFILE_EMULATION
See Also:
Constant Field Values

PROFILE_HOST

public static final int PROFILE_HOST
See Also:
Constant Field Values

PROFILE_KEYBOARD

public static final int PROFILE_KEYBOARD
See Also:
Constant Field Values

PROFILE_PRINTER

public static final int PROFILE_PRINTER
See Also:
Constant Field Values

PROFILE_SCREEN

public static final int PROFILE_SCREEN
See Also:
Constant Field Values

PROFILE_TOOLBAR

public static final int PROFILE_TOOLBAR
See Also:
Constant Field Values

PROTOCOL_DSA

public static final int PROTOCOL_DSA
See Also:
Constant Field Values

PROTOCOL_GGATE_DIWS

public static final int PROTOCOL_GGATE_DIWS
See Also:
Constant Field Values

PROTOCOL_GGATE_DSA

public static final int PROTOCOL_GGATE_DSA
See Also:
Constant Field Values

PROTOCOL_GGATE_DSA_CXI

public static final int PROTOCOL_GGATE_DSA_CXI
See Also:
Constant Field Values

PROTOCOL_GTEA

public static final int PROTOCOL_GTEA
See Also:
Constant Field Values

PROTOCOL_MINITEL

public static final int PROTOCOL_MINITEL
See Also:
Constant Field Values

PROTOCOL_TCP_RAW

public static final int PROTOCOL_TCP_RAW
See Also:
Constant Field Values

PROTOCOL_TELNET

public static final int PROTOCOL_TELNET
See Also:
Constant Field Values

PROTOCOL_TELNET3270

public static final int PROTOCOL_TELNET3270
See Also:
Constant Field Values

PROTOCOL_TELNET5250

public static final int PROTOCOL_TELNET5250
See Also:
Constant Field Values

PROTOCOL_TNVIP

public static final int PROTOCOL_TNVIP
See Also:
Constant Field Values
Constructor Detail

GlinkConfiguration

public GlinkConfiguration(java.lang.String name)
This constructor creates a default configuration. Additional configuration is needed.

If the supplied name is OVERRIDE_PARAMS, parameters set in this object will always be used, regardless of the actual session name used for connection. Otherwise, if the name matches an existing session profile, parameters set in this object will override those of the existing profile.

Important: If you use the OVERRIDE_PARAMS feature, please ensure that it is the ONLY GlinkConfiguration object added to the API object, or else the results will be unpredictable.

See Also:
setProfileName, setParameter, OVERRIDE_PARAMS

GlinkConfiguration

public GlinkConfiguration(java.lang.String name,
                          int emulation,
                          int protocol,
                          java.lang.String address)
This constructor creates a configuration with the given emulation and host protocol and the address to the host. Normally this configuration can be used asis, no extra configuration is needed.

See Also:
setProfileName, setParameter
Method Detail

getName

public java.lang.String getName()
Returns the name of the configuration.


getProfileName

public java.lang.String getProfileName(int type)
Returns the name of the profile with the given type. Normally this name will be the same as the name of the configuration itself.


setParameter

public void setParameter(java.lang.String parameter)
Sets the specific parameter with the given value. For example; setParameter("screen.fontsize=16") or setParameter("emu.vipinittext=false").

There are three groups of parameters available for use with the API:

Within each group there are several sets of parameters:

Generic protocol parameters

NameTypeDescription
com.parity Integer parity of the line. Values are 0=7 bits even, 1=8 bits none, 2=7 bits odd, 3=8 bits even, 4=8 bits odd.
com.strippar Boolean if true, parity is stripped.
com.terminateondisconnect Boolean if true, terminates Glink when disconnected from host.
com.servertarget String Ggate CoName/TNVIP resource name.

G&R Ggate protocol parameters.

See Ggate documentation for details.

NameTypeDescription
com.ggateda String Host application mailbox name
com.ggatedn String Host node name
com.ggatedu String User ID
com.ggatepw String Password
com.ggatedp String Project
com.ggatedb String Billing
com.ggatehm String Ggate host mode
com.ggatetm String Ggate terminal mode
com.ggateur String GRTS/LID user string
com.ggatedx String Mailbox extension
com.ggatemn String Local mailbox name
com.ggatelm String IBM log mode
com.ggateextra String Additional Ggate parameters
com.ggatekeepaliveint Integer Keepalive interval, in seconds

Generic Telnet parameters.

NameTypeDescription
com.telnetcrnul Boolean if true, replace CR LF pairs with CR NUL
com.telnetuseip Boolean if true, map Break to the IP command
com.telnetbinary Boolean if true, sets the Telnet session to binary mode
com.telnetsimulateparity Boolean if true, simulate parity in software

TN3270 parameters.

NameTypeDescription
com.tn3270luname String Logical Unit name
com.tn3270extended Boolean if true, use extended TN3270 (TN3270E)
com.tn3270associatelu Boolean if true, this is a printer session associated with the LU of the terminal

TN5250 parameters.

NameTypeDescription
com.tn5250maindevice String Primary 5250 device name, as specified in RFC2877.
com.tn5250altdevice String Alternate 5250 device name, as specified in RFC2877.
com.tn5250usedevname Boolean if true, send device name as specified in RFC2877.

Generic emulation parameters

NameTypeDescription
emu.autotabl Boolean switch local autotab on or off
emu.autotabh Boolean switch host autotab on or off
emu.destructbs Boolean if true, backspaces are destructive
emu.nostatusline Boolean if true, the status line is hidden
emu.host8bit Boolean true for 8 bit host connections
emu.xlitfile7, emu.xlitfile8 String Transliteration file for 7 and 8 bit connections. Values are 437, 865, dp7, fin, fra, frc, ger, ita, kpc, mac, nor, pnc, sf, spa, swe, swi, t43, t85, t86, uk, us. See online help for further information.
emu.usesiso Boolean if true, use SI/SO for printing
emu.allowlcase Boolean if true, send lowercase to host asis

Locally stored forms parameters

NameTypeDescription
emu.formsenable Boolean if true, locally stored forms are enabled in VIP mode
emu.tcsenable Integer locally stored forms support in DKU mode. Values are 0=inactive, 1=enabled, 2=ignored.
emu.formsdir, emu.formsdir2 String names of directories for storing primary and backup forms. Must conform to the file system syntax of the platform.
emu.etxsend Boolean if true, send ETX using ETX character (0x03), otherwise use EOT (0x04)
emu.ftcsack, emu.ftcspgof, emu.ftcsnak String Ack, Page Overflow and Nak responses in TCS forms mode. Should be 'a', 'b' and 'c' respectively.

DKU emulation parameters

NameTypeDescription
emu.dkublinkav Boolean if true, sets blink/blank attribute on reception of caret/tilde
emu.dkublinkshow Boolean if true, blink/blank characters are shown
emu.dkucud Boolean if true, allows cursor straight up/down using arrow keys
emu.dkucuf Boolean if true, allow cursor out-of-field
emu.dkunewline Boolean if true, send Newline when Transmit key is pressed
emu.dkusdpatt Boolean if true, enables SDP attribute mode
emu.dkuwrap Boolean if true, page overflow wraps to top of screen
emu.dkuwraptab Boolean if true, tabbing off the end of a form wraps to the beginning
emu.dkuinitroll Boolean if true, start in Roll mode
emu.dkutermid Integer Terminal type, 0=7107, 1=7211
emu.dkucolor Integer Colour mode, values are 0=1M, 1=4A, 2=4B, 3=7Q, 4=7G
emu.dkuprtid String Printer ID returned on device attribute enquiry
emu.dkuprtnbc Integer Number of print columns returned on device attribute enquiry
emu.dkuprtnbl Integer Printer lines-per-page returned on device attribute enquiry
emu.dkuprtcps Integer Printer CPS rate returned on device attribute enquiry

VIP emulation parameters

NameTypeDescription
emu.vipinittext Boolean if true, start in Text mode
emu.vipenqstring String VIP enquiry reply string
emu.vipextstatus Boolean if true, enable extended status on enquiry
emu.vipscrewyforms Boolean if true, non-linear forms mode is enabled
emu.vipstickyroll Boolean if true, preserve Roll Mode setting across forms
emu.vipaddlfs Boolean if true, add LF to CR (7700)
emu.vipnostatusline Boolean if true, suppress status line
emu.viptxretmode Boolean if true, TX on return mode is enabled
emu.vipinitecho Boolean if true, start in Echo mode
emu.vipinitroll Boolean if true, start in Roll mode
emu.vipinitblock Boolean if true, start in Block mode
emu.vipnoprintff Boolean if true, suppress Form Feeds in print output
emu.vipsuppresslock Boolean if true, suppresses status line lock
emu.vipspacesuppress Boolean if true, suppress trailing spaces to host
emu.vipaddcrlfs Boolean if true, add CRLF delimiters in SSM mode
emu.vipnlafterxmit Boolean if true, send NL on Transmit key
emu.vipsuppressapcmd Boolean if true, suppress APR commands from host
emu.vipv7200a Integer 7200 attribute mode, 0=none, 1=enabled, 2=extended
emu.vipfkeyswithcr Boolean if true, sends CR instead of ETX with function keys
emu.vip72linemode Boolean if true, enable 72 line mode
emu.vip77spacereplace Boolean if true, replace spaces with dots in 7700 mode
emu.vipcompat Integer Vip compatibility, 0=Normal, 1=ITT Courier, 2=Thomas box

VT/ANSI emulation parameters

NameTypeDescription
emu.vtaddlfs Boolean if true, add LF to CR
emu.vtinitecho Boolean if true, start in Echo mode
emu.vtinitroll Boolean if true, start in Roll mode
emu.vtno81 Boolean if true, suppress column 81
emu.vtdeltobs Boolean if true, move DEL to BS
emu.vtanswerb String ANSI answerback string

IBM 3270 emulation parameters

NameTypeDescription
emu.ibm3270nxlit Boolean if true, use Norwegian ASCII translation
emu.ibm3270noprint Boolean if true, host print is disabled
emu.ibm3270model Integer 3270 model. Values are: 0=3279-2, 1=3279-3, 2=3278-1, 3=3278-2, 4=3278-3, 5=3278-4, 6=3278-5, 7=3287-1 (printer), 8=3279-2E, 9=3279-3E, 10=3278-1E, 11=3278-2E, 12=3278-3E, 13=3278-4E, 14=3278-5E
emu.ibm3270xlit Integer Language to use for EBCDIC/ASCII transliteration. Values are: 0=International, 1=UK English, 2=US English, 3=Finnish/Swedish, 4=French, 5=French Canadian, 6=Austrian/German, 7=Italian, 8=Danish/Norwegian, 9=Spanish, 10=Finnish/Swedish (alt), 11=Belgian, 12=Danish/Norwegian (alt), 13=Japanese English, 14=Brazilian, 15=Portuguese, 16=Spanish (alt), 17=Spanish-speaking, 18=Austrian/German (alt), 19=Icelandic

IBM 5250 emulation parameters

NameTypeDescription
emu.ibm5250nxlit Boolean if true, use Norwegian ASCII transliteration
emu.ibm5250model Integer 5250 model. Values are: 0=3179-2, 1=3180-2, 2=3196-A1, 3=3477-FC, 4=3477_FG, 5=5251_11, 6=5291_1, 7=5292_2, 8=5555_B01, 9=5555_C01, 10=3812_1, 11=5553_B01
emu.ibm5250xlit Integer Language to use for EBCDIC/ASCII transliteration. Values are: 0=International, 1=UK English, 2=US English, 3=Finnish/Swedish, 4=French, 5=French Canadian, 6=Austrian/German, 7=Italian, 8=Danish/Norwegian, 9=Spanish, 10=Finnish/Swedish (alt), 11=Belgian, 12=Danish/Norwegian (alt), 13=Japanese English, 14=Brazilian, 15=Portuguese, 16=Spanish (alt), 17=Spanish-speaking, 18=Austrian/German (alt), 19=Icelandic

Extended 5250 parameters

The parameters below implement the variable/user variable scheme defined in RFC2877: "5250 Telnet Enhancements." Refer to that document for an explanation of these parameters. Each parameter comes in a string/boolean pair: the parameter itself, as a string, and a boolean activation parameter. If the activation parameter is set to true, the corresponding parameter will be sent to the TN5250 server on request.

The RFC can be found here.

ParameterActivated by
emu.ibm5250user emu.ibm5250sendusr
emu.ibm5250keyboard emu.ibm5250sendkb
emu.ibm5250codepage emu.ibm5250sendcp
emu.ibm5250charset emu.ibm5250sendcs
emu.ibm5250msgqname emu.ibm5250sendmsgq
emu.ibm5250formfeed emu.ibm5250sendff
emu.ibm5250transform emu.ibm5250sendxform
emu.ibm5250printermodel emu.ibm5250sendmdl
emu.ibm5250papersource1 emu.ibm5250sendps1
emu.ibm5250papersource2 emu.ibm5250sendps2
emu.ibm5250envelope emu.ibm5250sendenv
emu.ibm5250wscsctname emu.ibm5250sendwsname
emu.ibm5250wsctlib emu.ibm5250sendwslib

Printer parameters

NameTypeDescription
print.typeString Type of printer. Values are Local, LPD, File, GlinkApi, None.

Parameters:
parameter - The string contains both the name of the parameter and its value.

setProfileName

public void setProfileName(int type,
                           java.lang.String name)
Sets the profile of the given type to be used with this configuration. Sometimes it may be more convenient to refer to a profile already created by the Glink Administration utility than setting a number of parameters. The GlinkConfiguration object will then use this profile if found instead of the default one.

Parameters:
type - The profile type, for example PROFILE_HOST or PROFILE_SCREEN.
name - The name of an existing profile with the given type.