*** This class provides Binary Compatibility only, not Source Compatibility ***
Class SASURI
scheme://hostname[:port][;[protocol][;IOMNameValuePairs]]/
Where:
- scheme
-
Can be
IOMfor general IOM URIs. Or one of the specific types of an IOM URI, such asSAS-OMA. - protocol
-
Can be one of
Bridge,COMorInternal. If not specified,Bridgeis 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
APPLICATIONNAMEspecifies the name of the application requesting the connection to the server. The server may use this name in logging, auditing, or performance tracking. CLASSFACTORYorCLSID-
The value for the option
CLASSFACTORYspecifies the GUID of the object for which to acquire an instance. ENCR-
The value for
ENCRoption specifies the encryption algorithm to request when connecting to the peer identified in this IOM URI. ENCRLVL-
The value for
ENCRLVLoption specifies the level of encryption to request when connecting to the peer identified in this IOM URI. INTERFACEIIDorIID-
The value for
INTERFACEIIDoption specifies the GUID of the desired interface within the object acquired. LOCALE-
Added in SAS 9.2. The value for the
LOCALEoption specifies the locale of the connecting peer. MAJOR-
Added in SAS 9.2. The value for the
MAJORoption specifies the major portion of the bridge protocol version to use. MINOR-
Added in SAS 9.2. The value for the
MINORoption specifies the minor portion of the bridge protocol version to use. SECURITYPACKAGELIST-
Added in SAS 9.2. The value for the
SECURITYPACKAGELISToption 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
PASSoption 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
SECURITYPACKAGEoption 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
SERVERNAMEoption specifies the name of the server as it is known in the metadata. SPN-
Added in SAS 9.2. The value for the
SPNoption 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
TIMEOUToption 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
USERoption 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
FieldsModifier and TypeFieldDescriptionstatic final StringThe key for IOM attributeapplicationname.static final StringThe key for the IOM attributeauthService.static final StringThe key for IOM attributeclassfactory.static final StringThe key for IOM attributeclassname.static final StringThe key for IOM attributeclsid.static final StringThe key for IOM attributedomain.static final StringThe key for IOM attributeencr.static final StringIOM URI attributeencrlvlvalue credentials.static final StringIOM URI attributeencrlvlvalue everything.static final StringThe key for IOM attributeencrlvl.static final StringIOM URI attributeencrlvlvalue none.static final StringThe key for IOM attributehost.static final StringThe key for IOM attributeiid.static final StringThe key for IOM attributeinterfaceiid.static final StringThe key for IOM attributelocale.static final StringThe key for IOM attributemajor.static final StringThe key for IOM attributeminor.static final StringThe key for IOM attributenoredirect.static final StringThe key for IOM attributepass.static final StringThe key for IOM attributeport.static final StringIOM URI protocol Bridge.static final StringIOM URI protocol COM.static final StringIOM URI protocol Internal.static final StringThe key for IOM attributeprotocol.static final StringThe key for the IOM attributeproxylist.static final StringThe key for IOM attributesascommand.static final Stringstatic final StringURI schemeIOM.static final StringURI schemeIOMS.static final StringURI schemeSAS-OMA.static final StringThe key for IOM attributesealedpass.static final StringThe key for IOM attributesealedpassword.static final StringThe key for IOM attributesecuritypackage.static final StringThe key for IOM attributesecuritypackagelist.static final StringThe key for IOM attributeservername.static final StringThe key for IOM attributespn.static final StringThe key for IOM attributesvid.static final StringThe key for the IOM attributetenantid.static final StringThe key for the IOM attributesticketAuthentication.static final StringThe key for IOM attributetimeout.static final StringThe key for IOM attributetrustedsas.static final StringThe key for IOM attributeuser.static final StringThe key for IOM attributezeroconfig. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic char[]composeToCharArray(String scheme, Map attrMap) static SASURIcreate(char[] uriChars) Construct and return a SASURI from its character array representation.static SASURIcreate(String str) Construct and return a SASURI from its string representation.booleanequals(Object that) StringGet the value of theapplicationnameattribute.MapReturns all the IOM attributes for this URI encapsulated in aMap.MapgetAttributesForScheme(String scheme) Returns all the IOM attributes for this URI corresponding to the given scheme encapsulated in aMap.StringGets the value of theauthServiceattribute.StringGet the value of theclassfactoryattribute.StringGet the value of theclassnameattribute.StringgetClsid()Get the value of theclsidattribute.StringGet the value of thedomainattribute.StringgetEncr()Get the value of theencrattribute.StringGet the value of theencrlvlattribute.StringgetHost()Get the host part of the URI.StringgetIID()Get the value of theiidattribute.StringGet the value of theinterfaceiidattribute.LocaleGet the value of thelocaleattribute.bytegetMajor()Get the value of themajorattribute.bytegetMinor()Get the value of theminorattribute.StringgetPass()Get the value of thepassattribute.intgetPort()Get the port part of the URI.IntegerGet the port part of the URI as an Integer.StringGet the protocol part of the URI.StringGet the value of theproxylistattribute.StringGet the value of thesascommandattribute.StringGet the scheme part of the URI.com.sas.net.crypto.SealedStringcom.sas.net.crypto.SealedStringMapReturns all the IOM attributes for this URI encapsulated in aMap.MapgetSecureAttributesForScheme(String scheme) Returns the IOM attributes for this URI corresponding to the given scheme encapsulated in aMap.StringGet the value of thesecuritypackageattribute.StringGet the value of thesecuritypackagelistattribute.StringGet the value of theservernameattribute.StringgetSPN()Get the value of thespnattribute.StringgetSVID()Get the value of thesvidattribute.StringGet the value of thetenantidattribute.intGet the value of thetimeoutattribute.StringgetUser()Get the value of theuserattribute.inthashCode()booleanReturnstrueif thenoredirectattribute was specified andfalseotherwise.booleanReturnstrueif theticketauthenticationattribute was specified andfalseotherwise.booleanReturnstrueif thetrustedattribute was specified andfalseotherwise.booleanGet the value of thezeroconfigattribute.StringReturns the string used to construct this SASURI with sensitive information blotted out.char[]StringtoString()Returns the string representation of this SASURI.protected static StringunsealString(com.sas.net.crypto.SealedString sealed) static voidupdateAttribute(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 schemeIOMURI schemeIOM.- See Also:
-
schemeIOMS
public static final String schemeIOMSURI schemeIOMS.- See Also:
-
schemeOMA
public static final String schemeOMAURI schemeSAS-OMA. This scheme is a specialization of schemeIOM.- See Also:
-
schemeBRGS
public static final String schemeBRGS- See Also:
-
protocolBRG
public static final String protocolBRGIOM URI protocol Bridge.- See Also:
-
protocolINT
public static final String protocolINTIOM URI protocol Internal.- See Also:
-
protocolCOM
public static final String protocolCOMIOM URI protocol COM.- See Also:
-
encrLevelEverything
public static final String encrLevelEverythingIOM URI attributeencrlvlvalue everything.- See Also:
-
encrLevelCredentials
public static final String encrLevelCredentialsIOM URI attributeencrlvlvalue credentials.- See Also:
-
encrLevelNone
public static final String encrLevelNoneIOM URI attributeencrlvlvalue none.- See Also:
-
hostKey
public static final String hostKeyThe key for IOM attributehost. The value type in the attribute map isjava.lang.String.- See Also:
-
portKey
public static final String portKeyThe key for IOM attributeport. The value type in the attribute map isjava.lang.Integer.- See Also:
-
protocolKey
public static final String protocolKeyThe key for IOM attributeprotocol. The value type in the attribute map isjava.lang.String.- See Also:
-
majorKey
public static final String majorKeyThe key for IOM attributemajor. The value type in the attribute map isjava.lang.Byte.- See Also:
-
minorKey
public static final String minorKeyThe key for IOM attributeminor. The value type in the attribute map isjava.lang.Byte.- See Also:
-
localeKey
public static final String localeKeyThe key for IOM attributelocale. The value type in the attribute map isjava.util.Locale.- See Also:
-
encrKey
public static final String encrKeyThe key for IOM attributeencr. The value type in the attribute map isjava.lang.String.- See Also:
-
encrLevelKey
public static final String encrLevelKeyThe key for IOM attributeencrlvl. The value type in the attribute map isjava.lang.String.- See Also:
-
sealedPasswordKey
public static final String sealedPasswordKeyThe key for IOM attributesealedpassword. The value type in the attribute map iscom.sas.net.crypto.SealedString.- See Also:
-
userKey
public static final String userKeyThe key for IOM attributeuser. The value type in the attribute map isjava.lang.String.- See Also:
-
passKey
public static final String passKeyThe key for IOM attributepass. The value type in the attribute map isjava.lang.String.- See Also:
-
sealedPassKey
public static final String sealedPassKeyThe key for IOM attributesealedpass. The value type in the attribute map isjava.lang.String.- See Also:
-
classFactoryKey
public static final String classFactoryKeyThe key for IOM attributeclassfactory. The value type in the attribute map isjava.lang.String. An alternate name for this attribute isclsid.- See Also:
-
clsidKey
public static final String clsidKeyThe key for IOM attributeclsid. The value type in the attribute map isjava.lang.String. An alternate name for this attribute isclassfactory.- See Also:
-
serverNameKey
public static final String serverNameKeyThe key for IOM attributeservername. The value type in the attribute map isjava.lang.String.- See Also:
-
interfaceIIDKey
public static final String interfaceIIDKeyThe key for IOM attributeinterfaceiid. The value type in the attribute map isjava.lang.String. An alternate name for this attribute isiid.- See Also:
-
timeoutKey
public static final String timeoutKeyThe key for IOM attributetimeout. The value type in the attribute map isjava.lang.Integer.- See Also:
-
trustedSASKey
public static final String trustedSASKeyThe key for IOM attributetrustedsas. The value type in the attribute map isjava.lang.Boolean. Trusted peer connections in IOM Bridge for Java require the security permissionscom.sas.iom.orb.ORBPermission("brg.trustedPeer")andjava.security.SecurityPermission("createAccessControlContext").- See Also:
-
iidKey
public static final String iidKeyThe key for IOM attributeiid. The value type in the attribute map isjava.lang.String. An alternate name for this attribute isinterfaceiid.- See Also:
-
classNameKey
public static final String classNameKeyThe key for IOM attributeclassname. The value type in the attribute map isjava.lang.String.- See Also:
-
domainKey
public static final String domainKeyThe key for IOM attributedomain. The value type in the attribute map isjava.lang.String.- See Also:
-
securityPackageKey
public static final String securityPackageKeyThe key for IOM attributesecuritypackage. The value type in the attribute map isjava.lang.String.- See Also:
-
securityPackageListKey
public static final String securityPackageListKeyThe key for IOM attributesecuritypackagelist. The value type in the attribute map isjava.lang.String.- See Also:
-
spnKey
public static final String spnKeyThe key for IOM attributespn. The value type in the attribute map isjava.lang.String.- See Also:
-
svidKey
public static final String svidKeyThe key for IOM attributesvid. The value type in the attribute map isjava.lang.String.- See Also:
-
noRedirectKey
public static final String noRedirectKeyThe key for IOM attributenoredirect. The value type in the attribute map isjava.lang.Boolean.- See Also:
-
zeroConfigKey
public static final String zeroConfigKeyThe key for IOM attributezeroconfig. The value type in the attribute map isjava.lang.Boolean.- See Also:
-
applicationNameKey
public static final String applicationNameKeyThe key for IOM attributeapplicationname. The value type in the attribute map isjava.lang.String.- See Also:
-
sasCommandKey
public static final String sasCommandKeyThe key for IOM attributesascommand. The value type is the attribute map isjava.lang.String. This attribute is ignored unless the value for thezeroconfigattribute is true.- See Also:
-
tenantIDKey
public static final String tenantIDKeyThe key for the IOM attributetenantid. The value type in the attribute map isjava.lang.String.- See Also:
-
proxyListKey
public static final String proxyListKeyThe key for the IOM attributeproxylist. The value type in the attribute map isjava.lang.String.- See Also:
-
ticketAuthenticationKey
public static final String ticketAuthenticationKeyThe key for the IOM attributesticketAuthentication. The value type in the attribute map isjava.lang.Boolean.- See Also:
-
authServiceKey
public static final String authServiceKeyThe key for the IOM attributeauthService. The value type in the attribute map isjava.lang.String.- See Also:
-
-
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 syntaxNullPointerException- if the URI isnull
-
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 syntaxNullPointerException- if the URI isnull
-
-
Method Details
-
equals
public boolean equals(Object that) - Overrides:
equalsin classObject
-
hashCode
public int hashCode()- Overrides:
hashCodein classObject
-
toString
public String toString()Returns the string representation of this SASURI. Leading and trailing whitespace is trimmed.- Overrides:
toStringin classObject- 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 thepassattribute will be replaced withxxxxxxxx.- 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-1if 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 themajorattribute. If a value for this attribute was not provided, this method will return-1.- Returns:
- the value of the
majorattribute
-
getMinor
public byte getMinor()Get the value of theminorattribute. If a value for this attribute was not provided, this method will return-1.- Returns:
- the value of the
minorattribute
-
getLocale
public Locale getLocale()Get the value of thelocaleattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
localeattribute
-
getEncrLevel
public String getEncrLevel()Get the value of theencrlvlattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
encrlvlattribute
-
getEncr
public String getEncr()Get the value of theencrattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
encrattribute
-
getUser
public String getUser()Get the value of theuserattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
userattribute
-
getPass
public String getPass()Get the value of thepassattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
passattribute
-
getSealedPass
public com.sas.net.crypto.SealedString getSealedPass() -
getSealedPassword
public com.sas.net.crypto.SealedString getSealedPassword() -
getClassFactory
public String getClassFactory()Get the value of theclassfactoryattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
classfactoryattribute
-
getClsid
public String getClsid()Get the value of theclsidattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
clsidattribute
-
getServerName
public String getServerName()Get the value of theservernameattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
servernameattribute
-
getInterfaceIID
public String getInterfaceIID()Get the value of theinterfaceiidattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
interfaceiidattribute
-
getIID
public String getIID()Get the value of theiidattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
iidattribute
-
getTimeout
public int getTimeout()Get the value of thetimeoutattribute. If a value for this attribute was not provided, this method will return-1.- Returns:
- the value of the
timeoutattribute
-
isTrustedSAS
public boolean isTrustedSAS()Returnstrueif thetrustedattribute was specified andfalseotherwise. Trusted peer connections in IOM Bridge for Java require the security permissionscom.sas.iom.orb.ORBPermission("brg.trustedPeer")andjava.security.SecurityPermission("createAccessControlContext").- Returns:
trueif thetrustedattribute was specified andfalseotherwise.
-
getClassName
public String getClassName()Get the value of theclassnameattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
classnameattribute
-
getSecurityPackage
public String getSecurityPackage()Get the value of thesecuritypackageattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
securitypackageattribute
-
getSecurityPackageList
public String getSecurityPackageList()Get the value of thesecuritypackagelistattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
securitypackagelistattribute
-
getSPN
public String getSPN()Get the value of thespnattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
spnattribute
-
getDomain
public String getDomain()Get the value of thedomainattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
domainattribute
-
getSVID
public String getSVID()Get the value of thesvidattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
svidattribute
-
isNoRedirect
public boolean isNoRedirect()Returnstrueif thenoredirectattribute was specified andfalseotherwise.- Returns:
trueif thenoredirectattribute was specified andfalseotherwise.
-
isZeroConfig
public boolean isZeroConfig()Get the value of thezeroconfigattribute. If a value for this attribute was not provided, this method will returnfalse.- Returns:
- the value of the
zeroConfigattribute
-
getApplicationName
public String getApplicationName()Get the value of theapplicationnameattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
applicationnameattribute
-
getSasCommand
public String getSasCommand()Get the value of thesascommandattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
sascommandattribute
-
getTenantID
public String getTenantID()Get the value of thetenantidattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
tenantidattribute
-
getProxyList
public String getProxyList()Get the value of theproxylistattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
proxylistattribute
-
isTicketAuthentication
public boolean isTicketAuthentication()Returnstrueif theticketauthenticationattribute was specified andfalseotherwise.- Returns:
trueif theticketauthenticationattribute was specified andfalseotherwise.
-
getAuthService
public String getAuthService()Gets the value of theauthServiceattribute. If a value for this attribute was not provided, this method will returnnull.- Returns:
- the value of the
authServiceattribute
-
getAttributes
public Map getAttributes()Returns all the IOM attributes for this URI encapsulated in aMap. The keys for the map are the*Keyfields 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 aMap. The keys for the map are the*Keyfields 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 aMap. The keys for the map are the*Keyfields 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 aMap. The keys for the map are the*Keyfields 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
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
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)
-