/********************************************************************** * Copyright (c) 2005-2009 ant4eclipse project team. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nils Hartmann, Daniel Kasmeroglu, Gerd Wuetherich **********************************************************************/ package org.ant4eclipse.lib.jdt.model.project; import org.ant4eclipse.lib.core.util.StringMap; import org.ant4eclipse.lib.jdt.model.jre.JavaProfile; import org.ant4eclipse.lib.jdt.model.jre.JavaRuntime; import org.ant4eclipse.lib.platform.model.resource.role.ProjectRole; /** * <p> * Implements the java project role. * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public interface JavaProjectRole extends ProjectRole { /** the java nature id */ String JAVA_NATURE = "org.eclipse.jdt.core.javanature"; /** * <p> * Returns whether class path entries are set or not. * </p> * * @return Returns whether class path entries are set or not. */ boolean hasRawClasspathEntries(); /** * <p> * Returns the eclipse class path entries. * </p> * * @return returns the eclipse class path entries. */ RawClasspathEntry[] getRawClasspathEntries(); /** * <p> * Returns a list of EclipseClasspathEntry of a specific kind. * </p> * * @param entrykind * The kind of the desired entries. * * @return A list of entries providing entries of the desired type. */ RawClasspathEntry[] getRawClasspathEntries(int entrykind); /** * <p> * Returns the java runtime for this eclipse project or null if no runtime specified or if no such java runtime has * been registered. * </p> * * @return the java runtime for this eclipse project or null if no runtime specified or if no such java runtime has * been registered. */ JavaRuntime getJavaRuntime(); /** * <p> * Returns the {@link JavaProfile}. * </p> * * @return the {@link JavaProfile}. */ JavaProfile getJavaProfile(); /** * <p> * Returns a map with the compiler options or <code>null</code> if no such options exist. * </p> * * @return a map with the compiler options or <code>null</code> if no such options exist. */ StringMap getCompilerOptions(); /** * <p> * Returns the source folders for this project. * </p> * * @return the source folders for this project. */ String[] getSourceFolders(); /** * <p> * </p> * * @param sourceFolder * @return */ String getIncludePatternsForSourceFolder(String sourceFolder); /** * <p> * </p> * * @param sourceFolder * @return */ String getExcludePatternsForSourceFolder(String sourceFolder); /** * <p> * </p> * * @return */ boolean hasExcludeOrIncludeFiltersForSourceFolders(); /** * <p> * Returns the output folders for this project. * </p> * * @return the output folders for this project. */ String[] getAllOutputFolders(); /** * <p> * Returns the output folder for a specific source folder. * </p> * * @param sourceFolder * the source folder * @return the output folder for a specific source folder. */ String getOutputFolderForSourceFolder(String sourceFolder); /** * <p> * Returns the default output folder. * </p> * * @return the default output folder */ String getDefaultOutputFolder(); }