package org.springframework.roo.classpath.javaparser; import japa.parser.ast.ImportDeclaration; import japa.parser.ast.body.TypeDeclaration; import java.util.List; import org.springframework.roo.classpath.PhysicalTypeCategory; import org.springframework.roo.model.JavaPackage; import org.springframework.roo.model.JavaType; /** * An interface that enables Java Parser types to query relevant information * about a compilation unit. * * @author Ben Alex * @author James Tyrrell * @since 1.0 */ public interface CompilationUnitServices { JavaPackage getCompilationUnitPackage(); /** * @return the enclosing type (never null) */ JavaType getEnclosingTypeName(); List<ImportDeclaration> getImports(); /** * @return the names of each inner type and the enclosing type (never null * but may be empty) */ List<TypeDeclaration> getInnerTypes(); PhysicalTypeCategory getPhysicalTypeCategory(); }