1. /*
  2. * @(#)PackagePrefixChecker.java 1.9 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.corba.se.internal.util;
  8. import java.io.File;
  9. import sun.tools.java.Identifier;
  10. /**
  11. * PackagePrefixChecker provides static utility methods for getting package prefixes.
  12. * @author M. Mortazavi
  13. */
  14. public final class PackagePrefixChecker {
  15. private static final String PACKAGE_PREFIX = "org.omg.stub.";
  16. public static String packagePrefix(){ return PACKAGE_PREFIX;}
  17. public static String correctPackageName (String p){
  18. if (p==null) return p;
  19. if ( hasOffendingPrefix(p))
  20. {
  21. return PACKAGE_PREFIX+p;
  22. }
  23. return p;
  24. }
  25. public static boolean isOffendingPackage(String p){
  26. return
  27. !(p==null)
  28. &&
  29. ( false || hasOffendingPrefix(p) );
  30. }
  31. public static boolean hasOffendingPrefix(String p){
  32. return
  33. ( p.startsWith("java.") || p.equals("java")
  34. || p.startsWith("com.sun.") || p.equals("com.sun")
  35. || p.startsWith("net.jini.") || p.equals("net.jini")
  36. || p.startsWith("jini.") || p.equals("jini")
  37. || p.startsWith("javax.") || p.equals("javax")
  38. );
  39. }
  40. public static boolean hasBeenPrefixed(String p){
  41. return p.startsWith(packagePrefix());
  42. }
  43. public static String withoutPackagePrefix(String p){
  44. if(hasBeenPrefixed(p)) return p.substring(packagePrefix().length());
  45. else return p;
  46. }
  47. }