PackageInfo.java Source code

Java tutorial

Introduction

Here is the source code for PackageInfo.java

Source

/*
 * @(#)PackageInfo.java 1.11 02/04/01 15:03:56
 * 
 * Copyright (c) 1996-2002 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met: -
 * Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer. - Redistribution in binary
 * form must reproduce the above copyright notice, this list of conditions and
 * the following disclaimer in the documentation and/or other materials provided
 * with the distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of contributors may
 * be used to endorse or promote products derived from this software without
 * specific prior written permission.
 * 
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY
 * OF SUCH DAMAGES.
 * 
 * You acknowledge that Software is not designed,licensed or intended for use in
 * the design, construction, operation or maintenance of any nuclear facility.
 */

public class PackageInfo {
    public PackageInfo() {
        ClassLoader classLoader = getClass().getClassLoader();

        pkgInfo(classLoader, "javax.vecmath", "Point3d");
        pkgInfo(classLoader, "javax.media.j3d", "SceneGraphObject");
        pkgInfo(classLoader, "com.sun.j3d.utils.universe", "SimpleUniverse");
        //pkgInfo(classLoader, "com.sun.j3d.loaders.vrml97", "VrmlLoader");
    }

    static void pkgInfo(ClassLoader classLoader, String pkgName, String className) {

        try {
            classLoader.loadClass(pkgName + "." + className);

            Package p = Package.getPackage(pkgName);
            if (p == null) {
                System.out.println("WARNING: Package.getPackage(" + pkgName + ") is null");
            } else {
                System.out.println(p);
                System.out.println("Specification Title = " + p.getSpecificationTitle());
                System.out.println("Specification Vendor = " + p.getSpecificationVendor());
                System.out.println("Specification Version = " + p.getSpecificationVersion());

                System.out.println("Implementation Vendor = " + p.getImplementationVendor());
                System.out.println("Implementation Version = " + p.getImplementationVersion());
            }
        } catch (ClassNotFoundException e) {
            System.out.println("Unable to load " + pkgName);
        }

        System.out.println();
    }

    public static void main(String[] args) {
        new PackageInfo();
    }
}