/* * @(#)ClassType.java 1.2 04/04/30 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package com.sun.mirror.type; import com.sun.mirror.declaration.*; /** * Represents a class type. * Interface types are represented separately by {@link InterfaceType}. * Note that an {@linkplain EnumType enum} is a kind of class. * *

While a {@link ClassDeclaration} represents the declaration * of a class, a ClassType represents a class type. * See {@link TypeDeclaration} for more on this distinction. * * @author Joseph D. Darcy * @author Scott Seligman * @version 1.2 04/04/30 * @since 1.5 */ public interface ClassType extends DeclaredType { /** * {@inheritDoc} */ ClassDeclaration getDeclaration(); /** * Returns the class type that is a direct supertype of this one. * This is the superclass of this type's declaring class, with any * type arguments substituted in. * The only class with no superclass is java.lang.Object, * for which this method returns null. * *

For example, the class type extended by * {@code java.util.TreeSet} is * {@code java.util.AbstractSet}. * * @return the class type that is a direct supertype of this one, * or null if there is none */ ClassType getSuperclass(); }