1. /*
  2. * @(#)INSURLHandler.java 1.5 03/12/19
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.corba.se.impl.naming.namingutil;
  8. import org.omg.CORBA.CompletionStatus;
  9. import java.util.StringTokenizer;
  10. /**
  11. * This class is the entry point to parse different types of INS URL's.
  12. *
  13. * @Author Hemanth
  14. */
  15. public class INSURLHandler {
  16. private static INSURLHandler insURLHandler = null;
  17. // Length of corbaloc:
  18. private static final int CORBALOC_PREFIX_LENGTH = 9;
  19. // Length of corbaname:
  20. private static final int CORBANAME_PREFIX_LENGTH = 10;
  21. private INSURLHandler( ) {
  22. }
  23. public synchronized static INSURLHandler getINSURLHandler( ) {
  24. if( insURLHandler == null ) {
  25. insURLHandler = new INSURLHandler( );
  26. }
  27. return insURLHandler;
  28. }
  29. public INSURL parseURL( String aUrl ) {
  30. String url = aUrl;
  31. if ( url.startsWith( "corbaloc:" ) == true ) {
  32. return new CorbalocURL( url.substring( CORBALOC_PREFIX_LENGTH ) );
  33. } else if ( url.startsWith ( "corbaname:" ) == true ) {
  34. return new CorbanameURL( url.substring( CORBANAME_PREFIX_LENGTH ) );
  35. }
  36. return null;
  37. }
  38. }