### *** This class provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.iom.orb

# Class SASURI

java.lang.Object
com.sas.iom.orb.SASURI

@SASScope("ALL") @BinaryCompatibilityOnly public final class SASURI extends Object
A URI to identify an IOM server. Here is the format for an IOM URI:

     scheme://hostname[:port][;[protocol][;IOMNameValuePairs]]/

Where:

scheme
  Can be `IOM` for general IOM URIs. Or one of the specific types of an IOM URI, such as `SAS-OMA`.
protocol
  Can be one of `Bridge`, `COM` or `Internal`. If not specified, `Bridge` is the default.
IOMNameValuePairs
  If the name requires a value, the name and its value are to be separated by an equals sign. Name/value pairs are separated by a comma. The current valid name/value pairs are:
  `APPLICATIONNAME`
    The value for the option `APPLICATIONNAME` specifies the name of the application requesting the connection to the server. The server may use this name in logging, auditing, or performance tracking.
  `CLASSFACTORY` or `CLSID`
    The value for the option `CLASSFACTORY` specifies the GUID of the object for which to acquire an instance.
  `ENCR`
    The value for `ENCR` option specifies the encryption algorithm to request when connecting to the peer identified in this IOM URI.
  `ENCRLVL`
    The value for `ENCRLVL` option specifies the level of encryption to request when connecting to the peer identified in this IOM URI.
  `INTERFACEIID` or `IID`
    The value for `INTERFACEIID` option specifies the GUID of the desired interface within the object acquired.
  `LOCALE`
    Added in SAS 9.2. The value for the `LOCALE` option specifies the locale of the connecting peer.
  `MAJOR`
    Added in SAS 9.2. The value for the `MAJOR` option specifies the major portion of the bridge protocol version to use.
  `MINOR`
    Added in SAS 9.2. The value for the `MINOR` option specifies the minor portion of the bridge protocol version to use.
  `SECURITYPACKAGELIST`
    Added in SAS 9.2. The value for the `SECURITYPACKAGELIST` option is a comma separated string containing the list of packages to be negotiated with the server. This value should only be used when the SECURITYPACKAGE option has a value of Negotiate.
  `PASS`
    The value for `PASS` option specifies the password for the identity to use when connecting to the peer identified in this IOM URI.
  `SECURITYPACKAGE`
    Added in SAS 9.2. The value for the `SECURITYPACKAGE` option specifies the name of the security package that this client is prepared to use with the server. Possible values of this option are Negotiate, NTLM, or Kerberos.
  `SERVERNAME`
    Added in SAS 9.2. The value for the `SERVERNAME` option specifies the name of the server as it is known in the metadata.
  `SPN`
    Added in SAS 9.2. The value for the `SPN` option specifies the Service Principal Name that the client wishes to use with this IOM Server instance.
  `TIMEOUT`
    Added in SAS 9.2. The value for the `TIMEOUT` option specifies the timeout, in milliseconds, of all outcall activity.
  `TRUSTEDSAS`
    Has no value. Indicates that the owner of the current IOM Server is to be used as the identity when connecting to the peer identified in this IOM URI.
  `USER`
    The value for `USER` option specifies the identity to use when connecting to the peer identified in this IOM URI.

For compatibility with earlier releases of IOM Bridge for Java, URIs of this form are also supported:

     BRIDGE://hostname[:port][/[classID[?BridgeNameValuePairs]]]

The syntax for specifying BridgeNameValuePairs is the same as the syntax for specifying IOMNameValuePairs except that the pairs are separated by an ampersand instead of a comma.

If a SASURI contains a password, the password will be stored in the SASURI in an encrypted form. For compatibility with earlier releases, the password will be decrypted and returned as a String for calls to getPassword(), getPass(), getAttributes(), and getAttributesForScheme(). You can avoid the password decryption by calling getSealedPassword(), getSealedPass(), getSecureAttributes(), or getSecureAttributesForScheme(), respectively, instead.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `applicationNameKey`
  The key for IOM attribute `applicationname`.
  `static final String`
  `authServiceKey`
  The key for the IOM attribute `authService`.
  `static final String`
  `classFactoryKey`
  The key for IOM attribute `classfactory`.
  `static final String`
  `classNameKey`
  The key for IOM attribute `classname`.
  `static final String`
  `clsidKey`
  The key for IOM attribute `clsid`.
  `static final String`
  `domainKey`
  The key for IOM attribute `domain`.
  `static final String`
  `encrKey`
  The key for IOM attribute `encr`.
  `static final String`
  `encrLevelCredentials`
  IOM URI attribute `encrlvl` value credentials.
  `static final String`
  `encrLevelEverything`
  IOM URI attribute `encrlvl` value everything.
  `static final String`
  `encrLevelKey`
  The key for IOM attribute `encrlvl`.
  `static final String`
  `encrLevelNone`
  IOM URI attribute `encrlvl` value none.
  `static final String`
  `hostKey`
  The key for IOM attribute `host`.
  `static final String`
  `iidKey`
  The key for IOM attribute `iid`.
  `static final String`
  `interfaceIIDKey`
  The key for IOM attribute `interfaceiid`.
  `static final String`
  `localeKey`
  The key for IOM attribute `locale`.
  `static final String`
  `majorKey`
  The key for IOM attribute `major`.
  `static final String`
  `minorKey`
  The key for IOM attribute `minor`.
  `static final String`
  `noRedirectKey`
  The key for IOM attribute `noredirect`.
  `static final String`
  `passKey`
  The key for IOM attribute `pass`.
  `static final String`
  `portKey`
  The key for IOM attribute `port`.
  `static final String`
  `protocolBRG`
  IOM URI protocol Bridge.
  `static final String`
  `protocolCOM`
  IOM URI protocol COM.
  `static final String`
  `protocolINT`
  IOM URI protocol Internal.
  `static final String`
  `protocolKey`
  The key for IOM attribute `protocol`.
  `static final String`
  `proxyListKey`
  The key for the IOM attribute `proxylist`.
  `static final String`
  `sasCommandKey`
  The key for IOM attribute `sascommand`.
  `static final String`
  `schemeBRGS`
  `static final String`
  `schemeIOM`
  URI scheme `IOM`.
  `static final String`
  `schemeIOMS`
  URI scheme `IOMS`.
  `static final String`
  `schemeOMA`
  URI scheme `SAS-OMA`.
  `static final String`
  `sealedPassKey`
  The key for IOM attribute `sealedpass`.
  `static final String`
  `sealedPasswordKey`
  The key for IOM attribute `sealedpassword`.
  `static final String`
  `securityPackageKey`
  The key for IOM attribute `securitypackage`.
  `static final String`
  `securityPackageListKey`
  The key for IOM attribute `securitypackagelist`.
  `static final String`
  `serverNameKey`
  The key for IOM attribute `servername`.
  `static final String`
  `spnKey`
  The key for IOM attribute `spn`.
  `static final String`
  `svidKey`
  The key for IOM attribute `svid`.
  `static final String`
  `tenantIDKey`
  The key for the IOM attribute `tenantid`.
  `static final String`
  `ticketAuthenticationKey`
  The key for the IOM attributes `ticketAuthentication`.
  `static final String`
  `timeoutKey`
  The key for IOM attribute `timeout`.
  `static final String`
  `trustedSASKey`
  The key for IOM attribute `trustedsas`.
  `static final String`
  `userKey`
  The key for IOM attribute `user`.
  `static final String`
  `zeroConfigKey`
  The key for IOM attribute `zeroconfig`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SASURI(char[] uriChars)`
  Construct a SASURI for a character array.
  `SASURI(String str)`
  Construct a SASURI.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static char[]`
  `composeToCharArray(String scheme, Map attrMap)`
  `static SASURI`
  `create(char[] uriChars)`
  Construct and return a SASURI from its character array representation.
  `static SASURI`
  `create(String str)`
  Construct and return a SASURI from its string representation.
  `boolean`
  `equals(Object that)`
  `String`
  `getApplicationName()`
  Get the value of the `applicationname` attribute.
  `Map`
  `getAttributes()`
  Returns all the IOM attributes for this URI encapsulated in a `Map`.
  `Map`
  `getAttributesForScheme(String scheme)`
  Returns all the IOM attributes for this URI corresponding to the given scheme encapsulated in a `Map`.
  `String`
  `getAuthService()`
  Gets the value of the `authService` attribute.
  `String`
  `getClassFactory()`
  Get the value of the `classfactory` attribute.
  `String`
  `getClassName()`
  Get the value of the `classname` attribute.
  `String`
  `getClsid()`
  Get the value of the `clsid` attribute.
  `String`
  `getDomain()`
  Get the value of the `domain` attribute.
  `String`
  `getEncr()`
  Get the value of the `encr` attribute.
  `String`
  `getEncrLevel()`
  Get the value of the `encrlvl` attribute.
  `String`
  `getHost()`
  Get the host part of the URI.
  `String`
  `getIID()`
  Get the value of the `iid` attribute.
  `String`
  `getInterfaceIID()`
  Get the value of the `interfaceiid` attribute.
  `Locale`
  `getLocale()`
  Get the value of the `locale` attribute.
  `byte`
  `getMajor()`
  Get the value of the `major` attribute.
  `byte`
  `getMinor()`
  Get the value of the `minor` attribute.
  `String`
  `getPass()`
  Get the value of the `pass` attribute.
  `int`
  `getPort()`
  Get the port part of the URI.
  `Integer`
  `getPortNumber()`
  Get the port part of the URI as an Integer.
  `String`
  `getProtocol()`
  Get the protocol part of the URI.
  `String`
  `getProxyList()`
  Get the value of the `proxylist` attribute.
  `String`
  `getSasCommand()`
  Get the value of the `sascommand` attribute.
  `String`
  `getScheme()`
  Get the scheme part of the URI.
  `com.sas.net.crypto.SealedString`
  `getSealedPass()`
  `com.sas.net.crypto.SealedString`
  `getSealedPassword()`
  `Map`
  `getSecureAttributes()`
  Returns all the IOM attributes for this URI encapsulated in a `Map`.
  `Map`
  `getSecureAttributesForScheme(String scheme)`
  Returns the IOM attributes for this URI corresponding to the given scheme encapsulated in a `Map`.
  `String`
  `getSecurityPackage()`
  Get the value of the `securitypackage` attribute.
  `String`
  `getSecurityPackageList()`
  Get the value of the `securitypackagelist` attribute.
  `String`
  `getServerName()`
  Get the value of the `servername` attribute.
  `String`
  `getSPN()`
  Get the value of the `spn` attribute.
  `String`
  `getSVID()`
  Get the value of the `svid` attribute.
  `String`
  `getTenantID()`
  Get the value of the `tenantid` attribute.
  `int`
  `getTimeout()`
  Get the value of the `timeout` attribute.
  `String`
  `getUser()`
  Get the value of the `user` attribute.
  `int`
  `hashCode()`
  `boolean`
  `isNoRedirect()`
  Returns `true` if the `noredirect` attribute was specified and `false` otherwise.
  `boolean`
  `isTicketAuthentication()`
  Returns `true` if the `ticketauthentication` attribute was specified and `false` otherwise.
  `boolean`
  `isTrustedSAS()`
  Returns `true` if the `trusted` attribute was specified and `false` otherwise.
  `boolean`
  `isZeroConfig()`
  Get the value of the `zeroconfig` attribute.
  `String`
  `toBlottedString()`
  Returns the string used to construct this SASURI with sensitive information blotted out.
  `char[]`
  `toCharArray()`
  `String`
  `toString()`
  Returns the string representation of this SASURI.
  `protected static String`
  `unsealString(com.sas.net.crypto.SealedString sealed)`
  `static void`
  `updateAttribute(String name, Object value, Map attrMap)`
  `static char[]`
  `urlDecodeChars(char[] encChars)`
  `static char[]`
  `urlEncodeChars(char[] plainChars)`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### schemeIOM

    public static final String schemeIOM
    URI scheme `IOM`.
    See Also:
      - Constant Field Values

  - ### schemeIOMS

    public static final String schemeIOMS
    URI scheme `IOMS`.
    See Also:
      - Constant Field Values

  - ### schemeOMA

    public static final String schemeOMA
    URI scheme `SAS-OMA`. This scheme is a specialization of scheme `IOM`.
    See Also:
      - Constant Field Values

  - ### schemeBRGS

    public static final String schemeBRGS
    See Also:
      - Constant Field Values

  - ### protocolBRG

    public static final String protocolBRG
    IOM URI protocol Bridge.
    See Also:
      - Constant Field Values

  - ### protocolINT

    public static final String protocolINT
    IOM URI protocol Internal.
    See Also:
      - Constant Field Values

  - ### protocolCOM

    public static final String protocolCOM
    IOM URI protocol COM.
    See Also:
      - Constant Field Values

  - ### encrLevelEverything

    public static final String encrLevelEverything
    IOM URI attribute `encrlvl` value everything.
    See Also:
      - Constant Field Values

  - ### encrLevelCredentials

    public static final String encrLevelCredentials
    IOM URI attribute `encrlvl` value credentials.
    See Also:
      - Constant Field Values

  - ### encrLevelNone

    public static final String encrLevelNone
    IOM URI attribute `encrlvl` value none.
    See Also:
      - Constant Field Values

  - ### hostKey

    public static final String hostKey
    The key for IOM attribute `host`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### portKey

    public static final String portKey
    The key for IOM attribute `port`. The value type in the attribute map is `java.lang.Integer`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### protocolKey

    public static final String protocolKey
    The key for IOM attribute `protocol`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - `protocolBRG`
      - `protocolCOM`
      - `protocolINT`
      - Constant Field Values

  - ### majorKey

    public static final String majorKey
    The key for IOM attribute `major`. The value type in the attribute map is `java.lang.Byte`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### minorKey

    public static final String minorKey
    The key for IOM attribute `minor`. The value type in the attribute map is `java.lang.Byte`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### localeKey

    public static final String localeKey
    The key for IOM attribute `locale`. The value type in the attribute map is `java.util.Locale`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### encrKey

    public static final String encrKey
    The key for IOM attribute `encr`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### encrLevelKey

    public static final String encrLevelKey
    The key for IOM attribute `encrlvl`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - #encryptionLevelCredentials
      - #encryptionLevelEverything
      - #encryptionLevelNone
      - Constant Field Values

  - ### sealedPasswordKey

    public static final String sealedPasswordKey
    The key for IOM attribute `sealedpassword`. The value type in the attribute map is `com.sas.net.crypto.SealedString`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### userKey

    public static final String userKey
    The key for IOM attribute `user`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### passKey

    public static final String passKey
    The key for IOM attribute `pass`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### sealedPassKey

    public static final String sealedPassKey
    The key for IOM attribute `sealedpass`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### classFactoryKey

    public static final String classFactoryKey
    The key for IOM attribute `classfactory`. The value type in the attribute map is `java.lang.String`. An alternate name for this attribute is `clsid`.
    See Also:
      - `getAttributes()`
      - `clsidKey`
      - Constant Field Values

  - ### clsidKey

    public static final String clsidKey
    The key for IOM attribute `clsid`. The value type in the attribute map is `java.lang.String`. An alternate name for this attribute is `classfactory`.
    See Also:
      - `getAttributes()`
      - `classFactoryKey`
      - Constant Field Values

  - ### serverNameKey

    public static final String serverNameKey
    The key for IOM attribute `servername`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### interfaceIIDKey

    public static final String interfaceIIDKey
    The key for IOM attribute `interfaceiid`. The value type in the attribute map is `java.lang.String`. An alternate name for this attribute is `iid`.
    See Also:
      - `getAttributes()`
      - `iidKey`
      - Constant Field Values

  - ### timeoutKey

    public static final String timeoutKey
    The key for IOM attribute `timeout`. The value type in the attribute map is `java.lang.Integer`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### trustedSASKey

    public static final String trustedSASKey
    The key for IOM attribute `trustedsas`. The value type in the attribute map is `java.lang.Boolean`. Trusted peer connections in IOM Bridge for Java require the security permissions `com.sas.iom.orb.ORBPermission("brg.trustedPeer")` and `java.security.SecurityPermission("createAccessControlContext")`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### iidKey

    public static final String iidKey
    The key for IOM attribute `iid`. The value type in the attribute map is `java.lang.String`. An alternate name for this attribute is `interfaceiid`.
    See Also:
      - `getAttributes()`
      - `interfaceIIDKey`
      - Constant Field Values

  - ### classNameKey

    public static final String classNameKey
    The key for IOM attribute `classname`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### domainKey

    public static final String domainKey
    The key for IOM attribute `domain`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### securityPackageKey

    public static final String securityPackageKey
    The key for IOM attribute `securitypackage`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### securityPackageListKey

    public static final String securityPackageListKey
    The key for IOM attribute `securitypackagelist`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### spnKey

    public static final String spnKey
    The key for IOM attribute `spn`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### svidKey

    public static final String svidKey
    The key for IOM attribute `svid`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### noRedirectKey

    public static final String noRedirectKey
    The key for IOM attribute `noredirect`. The value type in the attribute map is `java.lang.Boolean`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### zeroConfigKey

    public static final String zeroConfigKey
    The key for IOM attribute `zeroconfig`. The value type in the attribute map is `java.lang.Boolean`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### applicationNameKey

    public static final String applicationNameKey
    The key for IOM attribute `applicationname`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### sasCommandKey

    public static final String sasCommandKey
    The key for IOM attribute `sascommand`. The value type is the attribute map is `java.lang.String`. This attribute is ignored unless the value for the `zeroconfig` attribute is true.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### tenantIDKey

    public static final String tenantIDKey
    The key for the IOM attribute `tenantid`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### proxyListKey

    public static final String proxyListKey
    The key for the IOM attribute `proxylist`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### ticketAuthenticationKey

    public static final String ticketAuthenticationKey
    The key for the IOM attributes `ticketAuthentication`. The value type in the attribute map is `java.lang.Boolean`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

  - ### authServiceKey

    public static final String authServiceKey
    The key for the IOM attribute `authService`. The value type in the attribute map is `java.lang.String`.
    See Also:
      - `getAttributes()`
      - Constant Field Values

- ## Constructor Details

  - ### SASURI

    public SASURI(String str) throws URISyntaxException
    Construct a SASURI.
    Parameters:
      `str` - the string representation of the URI
    Throws:
      `URISyntaxException` - if the URI scheme is not supported or if the URI has invalid syntax
      `NullPointerException` - if the URI is `null`

  - ### SASURI

    public SASURI(char[] uriChars) throws URISyntaxException
    Construct a SASURI for a character array. The character array may be cleared after this constructor returns.
    Parameters:
      `str` - the character array representation of the URI
    Throws:
      `URISyntaxException` - if the URI scheme is not supported or if the URI has invalid syntax
      `NullPointerException` - if the URI is `null`

- ## Method Details

  - ### equals

    public boolean equals(Object that)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### toString

    public String toString()
    Returns the string representation of this SASURI. Leading and trailing whitespace is trimmed.
    Overrides:
      `toString` in class `Object`
    Returns:
      the string representation of this SASURI

  - ### toCharArray

    public char[] toCharArray()

  - ### toBlottedString

    public String toBlottedString()
    Returns the string used to construct this SASURI with sensitive information blotted out. The value of the `pass` attribute will be replaced with `xxxxxxxx`.
    Returns:
      the string used to construct this SASURI with sensitive information blotted out.

  - ### getScheme

    public String getScheme()
    Get the scheme part of the URI.
    Returns:
      the scheme part of the URI

  - ### getHost

    public String getHost()
    Get the host part of the URI.
    Returns:
      the host part of the URI

  - ### getPort

    public int getPort()
    Get the port part of the URI. Returns `-1` if the port part of the URI is unspecified.
    Returns:
      the port part of the URI

  - ### getPortNumber

    public Integer getPortNumber()
    Get the port part of the URI as an Integer. Returns null if the port part of the URI is unspecified.
    Returns:
      the port part of the URI as an Integer

  - ### getProtocol

    public String getProtocol()
    Get the protocol part of the URI.
    Returns:
      the protocol part of the URI

  - ### getMajor

    public byte getMajor()
    Get the value of the `major` attribute. If a value for this attribute was not provided, this method will return `-1`.
    Returns:
      the value of the `major` attribute

  - ### getMinor

    public byte getMinor()
    Get the value of the `minor` attribute. If a value for this attribute was not provided, this method will return `-1`.
    Returns:
      the value of the `minor` attribute

  - ### getLocale

    public Locale getLocale()
    Get the value of the `locale` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `locale` attribute

  - ### getEncrLevel

    public String getEncrLevel()
    Get the value of the `encrlvl` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `encrlvl` attribute

  - ### getEncr

    public String getEncr()
    Get the value of the `encr` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `encr` attribute

  - ### getUser

    public String getUser()
    Get the value of the `user` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `user` attribute

  - ### getPass

    public String getPass()
    Get the value of the `pass` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `pass` attribute

  - ### getSealedPass

    public com.sas.net.crypto.SealedString getSealedPass()

  - ### getSealedPassword

    public com.sas.net.crypto.SealedString getSealedPassword()

  - ### getClassFactory

    public String getClassFactory()
    Get the value of the `classfactory` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `classfactory` attribute

  - ### getClsid

    public String getClsid()
    Get the value of the `clsid` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `clsid` attribute

  - ### getServerName

    public String getServerName()
    Get the value of the `servername` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `servername` attribute

  - ### getInterfaceIID

    public String getInterfaceIID()
    Get the value of the `interfaceiid` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `interfaceiid` attribute

  - ### getIID

    public String getIID()
    Get the value of the `iid` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `iid` attribute

  - ### getTimeout

    public int getTimeout()
    Get the value of the `timeout` attribute. If a value for this attribute was not provided, this method will return `-1`.
    Returns:
      the value of the `timeout` attribute

  - ### isTrustedSAS

    public boolean isTrustedSAS()
    Returns `true` if the `trusted` attribute was specified and `false` otherwise. Trusted peer connections in IOM Bridge for Java require the security permissions `com.sas.iom.orb.ORBPermission("brg.trustedPeer")` and `java.security.SecurityPermission("createAccessControlContext")`.
    Returns:
      `true` if the `trusted` attribute was specified and `false` otherwise.

  - ### getClassName

    public String getClassName()
    Get the value of the `classname` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `classname` attribute

  - ### getSecurityPackage

    public String getSecurityPackage()
    Get the value of the `securitypackage` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `securitypackage` attribute

  - ### getSecurityPackageList

    public String getSecurityPackageList()
    Get the value of the `securitypackagelist` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `securitypackagelist` attribute

  - ### getSPN

    public String getSPN()
    Get the value of the `spn` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `spn` attribute

  - ### getDomain

    public String getDomain()
    Get the value of the `domain` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `domain` attribute

  - ### getSVID

    public String getSVID()
    Get the value of the `svid` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `svid` attribute

  - ### isNoRedirect

    public boolean isNoRedirect()
    Returns `true` if the `noredirect` attribute was specified and `false` otherwise.
    Returns:
      `true` if the `noredirect` attribute was specified and `false` otherwise.

  - ### isZeroConfig

    public boolean isZeroConfig()
    Get the value of the `zeroconfig` attribute. If a value for this attribute was not provided, this method will return `false`.
    Returns:
      the value of the `zeroConfig` attribute

  - ### getApplicationName

    public String getApplicationName()
    Get the value of the `applicationname` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `applicationname` attribute

  - ### getSasCommand

    public String getSasCommand()
    Get the value of the `sascommand` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `sascommand` attribute

  - ### getTenantID

    public String getTenantID()
    Get the value of the `tenantid` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `tenantid` attribute

  - ### getProxyList

    public String getProxyList()
    Get the value of the `proxylist` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `proxylist` attribute

  - ### isTicketAuthentication

    public boolean isTicketAuthentication()
    Returns `true` if the `ticketauthentication` attribute was specified and `false` otherwise.
    Returns:
      `true` if the `ticketauthentication` attribute was specified and `false` otherwise.

  - ### getAuthService

    public String getAuthService()
    Gets the value of the `authService` attribute. If a value for this attribute was not provided, this method will return `null`.
    Returns:
      the value of the `authService` attribute

  - ### getAttributes

    public Map getAttributes()
    Returns all the IOM attributes for this URI encapsulated in a `Map`. The keys for the map are the `*Key` fields of this class. The type of each value is specified in the documentation for its respective key. If the SASURI contains an encrypted password, it will be decrypted in the returned attributes. Use getSecureAttributes() to prevent the password from being decrypted.
    Returns:
      all the IOM attributes for this URI encapsulated in a `Map`.

  - ### getSecureAttributes

    public Map getSecureAttributes()
    Returns all the IOM attributes for this URI encapsulated in a `Map`. The keys for the map are the `*Key` fields of this class. The type of each value is specified in the documentation for its respective key. If the SASURI contains an encrypted password, it will be returned in its encrypted form.
    Returns:
      all the IOM attributes for this URI encapsulated in a `Map`.

  - ### getAttributesForScheme

    public Map getAttributesForScheme(String scheme)
    Returns all the IOM attributes for this URI corresponding to the given scheme encapsulated in a `Map`. The keys for the map are the `*Key` fields of this class. The type of each value is specified in the documentation for its respective key. If the SASURI contains an encrypted password, it will be decrypted in the returned attributes. Use getSecureAttributes() to prevent the password from being decrypted.
    Parameters:
      `scheme` - the scheme
    Returns:
      all the IOM attributes for this URI encapsulated in a `Map`.

  - ### getSecureAttributesForScheme

    public Map getSecureAttributesForScheme(String scheme)
    Returns the IOM attributes for this URI corresponding to the given scheme encapsulated in a `Map`. The keys for the map are the `*Key` fields of this class. The type of each value is specified in the documentation for its respective key. If the SASURI contains an encrypted password, it will be returned in its encrypted form.
    Returns:
      all the IOM attributes for this URI encapsulated in a `Map`.

  - ### updateAttribute

    public static void updateAttribute(String name, Object value, Map attrMap)

  - ### urlEncodeChars

    public static char[] urlEncodeChars(char[] plainChars)

  - ### urlDecodeChars

    public static char[] urlDecodeChars(char[] encChars)

  - ### create

    public static SASURI create(String str)
    Construct and return a SASURI from its string representation. If the constructor throws a URISyntaxException, it will be wrapped in an IllegalArgumentException. This method is provided for situation in which the URI syntax is expected to be correct, and any errors should be treated as a coding error instead of a user input error.
    Parameters:
      `str` - the string representation of the URI
    Returns:
      a SASURI

  - ### create

    public static SASURI create(char[] uriChars)
    Construct and return a SASURI from its character array representation. If the constructor throws a URISyntaxException, it will be wrapped in an IllegalArgumentException. This method is provided for situation in which the URI syntax is expected to be correct, and any errors should be treated as a coding error instead of a user input error.
    Parameters:
      `uriChars` - the character array representation of the URI
    Returns:
      a SASURI

  - ### composeToCharArray

    public static char[] composeToCharArray(String scheme, Map attrMap)

  - ### unsealString

    protected static String unsealString(com.sas.net.crypto.SealedString sealed)