< prev index next >

jaxws/src/jdk.xml.bind/share/classes/com/sun/codemodel/internal/JPackage.java

Print this page


   1 /*
   2  * Copyright (c) 1997, 2014, 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


 315             n = this.name + '.';
 316         n += name;
 317 
 318         return owner.ref(Class.forName(n));
 319     }
 320 
 321     /**
 322      * Gets a reference to a sub package of this package.
 323      */
 324     public JPackage subPackage( String pkg ) {
 325         if(isUnnamed())     return owner()._package(pkg);
 326         else                return owner()._package(name+'.'+pkg);
 327     }
 328 
 329     /**
 330      * Returns an iterator that walks the top-level classes defined in this
 331      * package.
 332      */
 333     public Iterator<JDefinedClass> classes() {
 334         return classes.values().iterator();









 335     }
 336 
 337     /**
 338      * Checks if a given name is already defined as a class/interface
 339      */
 340     public boolean isDefined(String classLocalName) {
 341         Iterator<JDefinedClass> itr = classes();
 342         while (itr.hasNext()) {
 343             if ((itr.next()).name().equals(classLocalName))
 344                 return true;
 345         }
 346 
 347         return false;
 348     }
 349 
 350     /**
 351      * Checks if this package is the root, unnamed package.
 352      */
 353     public final boolean isUnnamed() { return name.length() == 0; }
 354 


   1 /*
   2  * Copyright (c) 1997, 2016, 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


 315             n = this.name + '.';
 316         n += name;
 317 
 318         return owner.ref(Class.forName(n));
 319     }
 320 
 321     /**
 322      * Gets a reference to a sub package of this package.
 323      */
 324     public JPackage subPackage( String pkg ) {
 325         if(isUnnamed())     return owner()._package(pkg);
 326         else                return owner()._package(name+'.'+pkg);
 327     }
 328 
 329     /**
 330      * Returns an iterator that walks the top-level classes defined in this
 331      * package.
 332      */
 333     public Iterator<JDefinedClass> classes() {
 334         return classes.values().iterator();
 335     }
 336 
 337     /**
 338      * Checks if this package contains any classes.
 339      * @return {@code true} if this package contains any classes
 340      *         or {@code false} otherwise.
 341      */
 342     public boolean hasClasses() {
 343         return !classes.isEmpty();
 344     }
 345 
 346     /**
 347      * Checks if a given name is already defined as a class/interface
 348      */
 349     public boolean isDefined(String classLocalName) {
 350         Iterator<JDefinedClass> itr = classes();
 351         while (itr.hasNext()) {
 352             if ((itr.next()).name().equals(classLocalName))
 353                 return true;
 354         }
 355 
 356         return false;
 357     }
 358 
 359     /**
 360      * Checks if this package is the root, unnamed package.
 361      */
 362     public final boolean isUnnamed() { return name.length() == 0; }
 363 


< prev index next >