PackagePrefixChecker.java revision 608:7e06bf1dcb09
1/*
2 * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25package com.sun.corba.se.impl.util;
26
27import java.io.File;
28
29/**
30 * PackagePrefixChecker provides static utility methods for getting package prefixes.
31 * @author M. Mortazavi
32 */
33
34public final class PackagePrefixChecker {
35
36
37    private static final String PACKAGE_PREFIX = "org.omg.stub.";
38
39    public static String packagePrefix(){ return PACKAGE_PREFIX;}
40
41    public static String correctPackageName (String p){
42        if (p==null) return p;
43        if ( hasOffendingPrefix(p))
44            {
45               return PACKAGE_PREFIX+p;
46            }
47        return p;
48    }
49
50    public static boolean isOffendingPackage(String p){
51        return
52            !(p==null)
53            &&
54            ( false || hasOffendingPrefix(p) );
55    }
56
57    public static boolean hasOffendingPrefix(String p){
58        return
59            (      p.startsWith("java.") || p.equals("java")
60                // || p.startsWith("com.sun.") || p.equals("com.sun")
61                || p.startsWith("net.jini.") || p.equals("net.jini")
62                || p.startsWith("jini.") || p.equals("jini")
63                || p.startsWith("javax.") || p.equals("javax")
64            );
65    }
66
67    public static boolean hasBeenPrefixed(String p){
68        return p.startsWith(packagePrefix());
69    }
70
71    public static String withoutPackagePrefix(String p){
72        if(hasBeenPrefixed(p)) return p.substring(packagePrefix().length());
73        else return p;
74    }
75
76}
77