FileDocCategorySizeDatePackage
CorbanameUrl.javaAPI DocGlassfish v2 API5750Fri May 04 22:36:18 BST 2007com.sun.jndi.url.corbaname

CorbanameUrl

public final class CorbanameUrl extends Object
Extract components of a "corbaname" URL. The format of an corbaname URL is defined in INS 99-12-03 as follows.

corbaname url = "corbaname:" ["#" ] corbaloc_obj = ["/" ] obj_addr_list = as defined in a corbaloc URL key_string = as defined in a corbaloc URL string_name = stringified COS name | empty_string

Characters in are escaped as follows. US-ASCII alphanumeric characters are not escaped. Any characters outside of this range are escaped except for the following: ; / : ? @ & = + $ , - _ . ! ~ * ; ( ) Escaped characters is escaped by using a % followed by its 2 hexadecimal numbers representing the octet.

The corbaname URL is parsed into two parts: a corbaloc URL and a COS name. The corbaloc URL is constructed by concatenation "corbaloc:" with . The COS name is with the escaped characters resolved.

A corbaname URL is resolved by:

  1. Construct a corbaloc URL by concatenating "corbaloc:" and .
  2. Resolve the corbaloc URL to a NamingContext by using nctx = ORB.string_to_object(corbalocUrl);
  3. Resolve in the NamingContext.
author
Rosanna Lee

Fields Summary
static Logger
_logger
private String
stringName
private String
location
private static final NameParser
parser
Constructors Summary
public CorbanameUrl(String url)


	if (!url.startsWith("corbaname:")) {
	    throw new MalformedURLException("Invalid corbaname URL: " + url);
	}

	int addrStart = 10;  // "corbaname:"

	int addrEnd = url.indexOf('#", addrStart);
	if (addrEnd < 0) {
	    addrEnd = url.length();
	    stringName = "";
	} else {
	    stringName = UrlUtil.decode(url.substring(addrEnd+1));
	}
	location = url.substring(addrStart, addrEnd);
	
	int keyStart = location.indexOf("/");
	if (keyStart >= 0) {
	    // Has key string
	    if (keyStart == (location.length() -1)) {
		location += "NameService";
	    }
	} else {
	    location += "/NameService";
	}
    
Methods Summary
public javax.naming.NamegetCosName()

	return parser.parse(stringName);
    
public java.lang.StringgetLocation()

	return "corbaloc:" + location;
    
public java.lang.StringgetStringName()
Returns a possibly empty but non-null string that is the "string_name" portion of the URL.


                        
       
	return stringName;