1 /* 2 * @(#)package-info.java 1.4 06/08/28 3 * 4 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 /** 9 * Classes and hierarchies of packages used to model the Java 10 * programming language. 11 * 12 * The members of this package and its subpackages are for use in 13 * language modeling and language processing tasks and APIs including, 14 * but not limited to, the {@linkplain javax.annotation.processing 15 * annotation processing} framework. 16 * 17 * <p> This language model follows a <i>mirror</i>-based design; see 18 * 19 * <blockquote> 20 * Gilad Bracha and David Ungar. <i>Mirrors: Design Principles for 21 * Meta-level Facilities of Object-Oriented Programming Languages</i>. 22 * In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, 23 * Languages and Applications, October 2004. 24 * </blockquote> 25 * 26 * In particular, the model makes a distinction between static 27 * language constructs, like the {@linkplain javax.lang.model.element 28 * element} representing {@code java.util.Set}, and the family of 29 * {@linkplain javax.lang.model.type types} that may be associated 30 * with an element, like the raw type {@code java.util.Set}, {@code 31 * java.util.Set<String>}, and {@code java.util.Set<T>}. 32 * 33 * <p> Unless otherwise specified, methods in this package will throw 34 * a {@code NullPointerException} if given a {@code null} argument. 35 * 36 * @author Joseph D. Darcy 37 * @author Scott Seligman 38 * @author Peter von der Ahé 39 * @version 1.4 06/08/28 40 * @since 1.6 41 */ 42 43 package javax.lang.model; 44