1. /*
  2. * @(#)PackagePrefixChecker.java 1.13 04/03/01
  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.util;
  8. import java.io.File;
  9. /**
  10. * PackagePrefixChecker provides static utility methods for getting package prefixes.
  11. * @author M. Mortazavi
  12. */
  13. public final class PackagePrefixChecker {
  14. private static final String PACKAGE_PREFIX = "org.omg.stub.";
  15. public static String packagePrefix(){ return PACKAGE_PREFIX;}
  16. public static String correctPackageName (String p){
  17. if (p==null) return p;
  18. if ( hasOffendingPrefix(p))
  19. {
  20. return PACKAGE_PREFIX+p;
  21. }
  22. return p;
  23. }
  24. public static boolean isOffendingPackage(String p){
  25. return
  26. !(p==null)
  27. &&
  28. ( false || hasOffendingPrefix(p) );
  29. }
  30. public static boolean hasOffendingPrefix(String p){
  31. return
  32. ( p.startsWith("java.") || p.equals("java")
  33. // || p.startsWith("com.sun.") || p.equals("com.sun")
  34. || p.startsWith("net.jini.") || p.equals("net.jini")
  35. || p.startsWith("jini.") || p.equals("jini")
  36. || p.startsWith("javax.") || p.equals("javax")
  37. );
  38. }
  39. public static boolean hasBeenPrefixed(String p){
  40. return p.startsWith(packagePrefix());
  41. }
  42. public static String withoutPackagePrefix(String p){
  43. if(hasBeenPrefixed(p)) return p.substring(packagePrefix().length());
  44. else return p;
  45. }
  46. }