X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IPackageFragmentRoot.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IPackageFragmentRoot.java index ba8d7ea..f96a997 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IPackageFragmentRoot.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IPackageFragmentRoot.java @@ -18,401 +18,462 @@ *******************************************************************************/ package net.sourceforge.phpdt.core; - /** - * A package fragment root contains a set of package fragments. - * It corresponds to an underlying resource which is either a folder, - * JAR, or zip. In the case of a folder, all descendant folders represent - * package fragments. For a given child folder representing a package fragment, - * the corresponding package name is composed of the folder names between the folder - * for this root and the child folder representing the package, separated by '.'. - * In the case of a JAR or zip, the contents of the archive dictates - * the set of package fragments in an analogous manner. - * Package fragment roots need to be opened before they can be navigated or manipulated. - * The children are of type IPackageFragment, and are in no particular order. + * A package fragment root contains a set of package fragments. It corresponds + * to an underlying resource which is either a folder, JAR, or zip. In the case + * of a folder, all descendant folders represent package fragments. For a given + * child folder representing a package fragment, the corresponding package name + * is composed of the folder names between the folder for this root and the + * child folder representing the package, separated by '.'. In the case of a JAR + * or zip, the contents of the archive dictates the set of package fragments in + * an analogous manner. Package fragment roots need to be opened before they can + * be navigated or manipulated. The children are of type + * IPackageFragment, and are in no particular order. *

* This interface is not intended to be implemented by clients. *

*/ -public interface IPackageFragmentRoot - extends IParent, IJavaElement, IOpenable { +public interface IPackageFragmentRoot extends IParent, IJavaElement, IOpenable { /** - * Kind constant for a source path root. Indicates this root - * only contains source files. + * Kind constant for a source path root. Indicates this root only contains + * source files. */ int K_SOURCE = 1; + /** - * Kind constant for a binary path root. Indicates this - * root only contains binary files. + * Kind constant for a binary path root. Indicates this root only contains + * binary files. */ int K_BINARY = 2; + /** * Empty root path */ String DEFAULT_PACKAGEROOT_PATH = ""; //$NON-NLS-1$ + /** - * Update model flag constant (bit mask value 1) indicating that the operation - * is to not copy/move/delete the package fragment root resource. + * Update model flag constant (bit mask value 1) indicating that the + * operation is to not copy/move/delete the package fragment root resource. + * * @since 2.1 */ int NO_RESOURCE_MODIFICATION = 1; + /** - * Update model flag constant (bit mask value 2) indicating that the operation - * is to update the classpath of the originating project. + * Update model flag constant (bit mask value 2) indicating that the + * operation is to update the classpath of the originating project. + * * @since 2.1 */ int ORIGINATING_PROJECT_CLASSPATH = 2; + /** - * Update model flag constant (bit mask value 4) indicating that the operation - * is to update the classpath of all referring projects except the originating project. + * Update model flag constant (bit mask value 4) indicating that the + * operation is to update the classpath of all referring projects except the + * originating project. + * * @since 2.1 */ int OTHER_REFERRING_PROJECTS_CLASSPATH = 4; + /** - * Update model flag constant (bit mask value 8) indicating that the operation - * is to update the classpath of the destination project. + * Update model flag constant (bit mask value 8) indicating that the + * operation is to update the classpath of the destination project. + * * @since 2.1 */ - int DESTINATION_PROJECT_CLASSPATH = 8; + int DESTINATION_PROJECT_CLASSPATH = 8; + /** - * Update model flag constant (bit mask value 16) indicating that the operation - * is to replace the resource and the destination project's classpath entry. + * Update model flag constant (bit mask value 16) indicating that the + * operation is to replace the resource and the destination project's + * classpath entry. + * * @since 2.1 */ - int REPLACE = 16; + int REPLACE = 16; + /** * Attaches the source archive identified by the given absolute path to this - * binary package fragment root. rootPath specifies the location - * of the root within the archive or folder (empty specifies the default root - * and null specifies the root path should be detected). - * Once a source archive or folder is attached to the package fragment root, - * the getSource and getSourceRange - * methods become operational for binary types/members. - * To detach a source archive or folder from a package fragment root, specify - * null as the source path. - * - * @param sourcePath the given absolute path to the source archive or folder - * @param rootPath specifies the location of the root within the archive - * (empty specifies the default root and null specifies - * automatic detection of the root path) - * @param monitor the given progress monitor - * @exception JavaModelException if this operation fails. Reasons include: - * + * binary package fragment root. rootPath specifies the + * location of the root within the archive or folder (empty specifies the + * default root and null specifies the root path should be + * detected). Once a source archive or folder is attached to the package + * fragment root, the getSource and + * getSourceRange methods become operational for binary + * types/members. To detach a source archive or folder from a package + * fragment root, specify null as the source path. + * + * @param sourcePath + * the given absolute path to the source archive or folder + * @param rootPath + * specifies the location of the root within the archive (empty + * specifies the default root and null specifies + * automatic detection of the root path) + * @param monitor + * the given progress monitor + * @exception JavaModelException + * if this operation fails. Reasons include: + * */ -// void attachSource(IPath sourcePath, IPath rootPath, IProgressMonitor monitor) -// throws JavaModelException; - + // void attachSource(IPath sourcePath, IPath rootPath, IProgressMonitor + // monitor) + // throws JavaModelException; /** * Copies the resource of this package fragment root to the destination path * as specified by IResource.copy(IPath, int, IProgressMonitor) * but excluding nested source folders. *

- * If NO_RESOURCE_MODIFICATION is specified in - * updateModelFlags or if this package fragment root is external, - * this operation doesn't copy the resource. updateResourceFlags - * is then ignored. - *

- * If DESTINATION_PROJECT_CLASSPATH is specified in - * updateModelFlags, updates the classpath of the - * destination's project (if it is a Java project). If a non-null - * sibling is specified, a copy of this root's classpath entry is inserted before the - * sibling on the destination project's raw classpath. If null is - * specified, the classpath entry is added at the end of the raw classpath. - *

+ * If NO_RESOURCE_MODIFICATION is specified in + * updateModelFlags or if this package fragment root is + * external, this operation doesn't copy the resource. + * updateResourceFlags is then ignored. + *

+ *

+ * If DESTINATION_PROJECT_CLASSPATH is specified in + * updateModelFlags, updates the classpath of the + * destination's project (if it is a Java project). If a non-null + * sibling is specified, a copy of this root's classpath entry is inserted + * before the sibling on the destination project's raw classpath. If + * null is specified, the classpath entry is added at the end + * of the raw classpath. + *

+ *

* If REPLACE is specified in updateModelFlags, - * overwrites the resource at the destination path if any. - * If the same classpath entry already exists on the destination project's raw - * classpath, then the sibling is ignored and the new classpath entry replaces the - * existing one. - *

- * If no flags is specified in updateModelFlags (using + * overwrites the resource at the destination path if any. If the same + * classpath entry already exists on the destination project's raw + * classpath, then the sibling is ignored and the new classpath entry + * replaces the existing one. + *

+ *

+ * If no flags is specified in updateModelFlags (using * IResource.NONE), the default behavior applies: the - * resource is copied (if this package fragment root is not external) and the - * classpath is not updated. + * resource is copied (if this package fragment root is not external) and + * the classpath is not updated. *

* - * @param destination the destination path - * @param updateResourceFlags bit-wise or of update resource flag constants - * (IResource.FORCE and IResource.SHALLOW) - * @param updateModelFlags bit-wise or of update resource flag constants - * (DESTINATION_PROJECT_CLASSPATH and - * NO_RESOURCE_MODIFICATION) - * @param sibling the classpath entry before which a copy of the classpath - * entry should be inserted or null if the classpath entry should - * be inserted at the end - * @param monitor a progress monitor + * @param destination + * the destination path + * @param updateResourceFlags + * bit-wise or of update resource flag constants (IResource.FORCE + * and IResource.SHALLOW) + * @param updateModelFlags + * bit-wise or of update resource flag constants (DESTINATION_PROJECT_CLASSPATH + * and NO_RESOURCE_MODIFICATION) + * @param sibling + * the classpath entry before which a copy of the classpath entry + * should be inserted or null if the classpath + * entry should be inserted at the end + * @param monitor + * a progress monitor * - * @exception JavaModelException if this root could not be copied. Reasons - * include: - * + * @exception JavaModelException + * if this root could not be copied. Reasons include: + * * @see org.eclipse.core.resources.IResource#copy * @since 2.1 */ -// void copy(IPath destination, int updateResourceFlags, int updateModelFlags, IClasspathEntry sibling, IProgressMonitor monitor) throws JavaModelException; + // void copy(IPath destination, int updateResourceFlags, int + // updateModelFlags, IClasspathEntry sibling, IProgressMonitor monitor) + // throws JavaModelException; /** - * Creates and returns a package fragment in this root with the - * given dot-separated package name. An empty string specifies the default package. - * This has the side effect of creating all package - * fragments that are a prefix of the new package fragment which - * do not exist yet. If the package fragment already exists, this - * has no effect. - * - * For a description of the force flag, see IFolder.create. - * - * @param name the given dot-separated package name - * @param force a flag controlling how to deal with resources that - * are not in sync with the local file system - * @param monitor the given progress monitor - * @exception JavaModelException if the element could not be created. Reasons include: - * - * @return a package fragment in this root with the given dot-separated package name + * Creates and returns a package fragment in this root with the given + * dot-separated package name. An empty string specifies the default + * package. This has the side effect of creating all package fragments that + * are a prefix of the new package fragment which do not exist yet. If the + * package fragment already exists, this has no effect. + * + * For a description of the force flag, see + * IFolder.create. + * + * @param name + * the given dot-separated package name + * @param force + * a flag controlling how to deal with resources that are not in + * sync with the local file system + * @param monitor + * the given progress monitor + * @exception JavaModelException + * if the element could not be created. Reasons include: + * + * @return a package fragment in this root with the given dot-separated + * package name * @see org.eclipse.core.resources.IFolder#create */ -// IPackageFragment createPackageFragment( -// String name, -// boolean force, -// IProgressMonitor monitor) -// throws JavaModelException; + // IPackageFragment createPackageFragment( + // String name, + // boolean force, + // IProgressMonitor monitor) + // throws JavaModelException; /** * Deletes the resource of this package fragment root as specified by - * IResource.delete(int, IProgressMonitor) but excluding nested - * source folders. + * IResource.delete(int, IProgressMonitor) but excluding + * nested source folders. + *

+ * If NO_RESOURCE_MODIFICATION is specified in + * updateModelFlags or if this package fragment root is + * external, this operation doesn't delete the resource. + * updateResourceFlags is then ignored. + *

*

- * If NO_RESOURCE_MODIFICATION is specified in - * updateModelFlags or if this package fragment root is external, - * this operation doesn't delete the resource. updateResourceFlags - * is then ignored. - *

- * If ORIGINATING_PROJECT_CLASSPATH is specified in - * updateModelFlags, update the raw classpath of this package - * fragment root's project by removing the corresponding classpath entry. - *

- * If OTHER_REFERRING_PROJECTS_CLASSPATH is specified in - * updateModelFlags, update the raw classpaths of all other Java - * projects referring to this root's resource by removing the corresponding classpath - * entries. - *

- * If no flags is specified in updateModelFlags (using + * If ORIGINATING_PROJECT_CLASSPATH is specified in + * updateModelFlags, update the raw classpath of this + * package fragment root's project by removing the corresponding classpath + * entry. + *

+ *

+ * If OTHER_REFERRING_PROJECTS_CLASSPATH is specified in + * updateModelFlags, update the raw classpaths of all other + * Java projects referring to this root's resource by removing the + * corresponding classpath entries. + *

+ *

+ * If no flags is specified in updateModelFlags (using * IResource.NONE), the default behavior applies: the - * resource is deleted (if this package fragment root is not external) and no - * classpaths are updated. + * resource is deleted (if this package fragment root is not external) and + * no classpaths are updated. *

* - * @param updateResourceFlags bit-wise or of update resource flag constants - * (IResource.FORCE and IResource.KEEP_HISTORY) - * @param updateModelFlags bit-wise or of update resource flag constants - * (ORIGINATING_PROJECT_CLASSPATH, - * OTHER_REFERRING_PROJECTS_CLASSPATH and - * NO_RESOURCE_MODIFICATION) - * @param monitor a progress monitor + * @param updateResourceFlags + * bit-wise or of update resource flag constants (IResource.FORCE + * and IResource.KEEP_HISTORY) + * @param updateModelFlags + * bit-wise or of update resource flag constants (ORIGINATING_PROJECT_CLASSPATH, + * OTHER_REFERRING_PROJECTS_CLASSPATH and + * NO_RESOURCE_MODIFICATION) + * @param monitor + * a progress monitor * - * @exception JavaModelException if this root could not be deleted. Reasons - * include: - * + * @exception JavaModelException + * if this root could not be deleted. Reasons include: + * * @see org.eclipse.core.resources.IResource#delete * @since 2.1 */ -// void delete(int updateResourceFlags, int updateModelFlags, IProgressMonitor monitor) throws JavaModelException; + // void delete(int updateResourceFlags, int updateModelFlags, + // IProgressMonitor monitor) throws JavaModelException; /** - * Returns this package fragment root's kind encoded as an integer. - * A package fragment root can contain .java source files, - * or .class files, but not both. - * If the underlying folder or archive contains other kinds of files, they are ignored. - * In particular, .class files are ignored under a source package fragment root, - * and .java files are ignored under a binary package fragment root. - * + * Returns this package fragment root's kind encoded as an integer. A + * package fragment root can contain .java source files, or + * .class files, but not both. If the underlying folder or + * archive contains other kinds of files, they are ignored. In particular, + * .class files are ignored under a source package fragment + * root, and .java files are ignored under a binary package + * fragment root. + * * @see IPackageFragmentRoot#K_SOURCE * @see IPackageFragmentRoot#K_BINARY - * - * @exception JavaModelException if this element does not exist or if an - * exception occurs while accessing its corresponding resource. + * + * @exception JavaModelException + * if this element does not exist or if an exception occurs + * while accessing its corresponding resource. * @return this package fragment root's kind encoded as an integer */ -// int getKind() throws JavaModelException; - + int getKind() throws JavaModelException; + /** - * Returns an array of non-Java resources contained in this package fragment root. + * Returns an array of non-Java resources contained in this package fragment + * root. *

* Non-Java resources includes other files and folders located in the same * directories as the compilation units or class files under this package - * fragment root. Resources excluded from this package fragment root - * by one or more exclusion patterns on the corresponding source classpath - * entry are considered non-Java resources and will appear in the result - * (possibly in a folder). Thus when a nested source folder is excluded, it will appear - * in the non-Java resources of the outer folder. + * fragment root. Resources excluded from this package fragment root by one + * or more exclusion patterns on the corresponding source classpath entry + * are considered non-Java resources and will appear in the result (possibly + * in a folder). Thus when a nested source folder is excluded, it will + * appear in the non-Java resources of the outer folder. *

- * @return an array of non-Java resources contained in this package fragment root + * + * @return an array of non-Java resources contained in this package fragment + * root * @see IClasspathEntry#getExclusionPatterns */ -// Object[] getNonJavaResources() throws JavaModelException; - + // Object[] getNonJavaResources() throws JavaModelException; /** - * Returns the package fragment with the given package name. - * An empty string indicates the default package. - * This is a handle-only operation. The package fragment - * may or may not exist. + * Returns the package fragment with the given package name. An empty string + * indicates the default package. This is a handle-only operation. The + * package fragment may or may not exist. * - * @param packageName the given package name + * @param packageName + * the given package name * @return the package fragment with the given package name */ IPackageFragment getPackageFragment(String packageName); - /** * Returns the first raw classpath entry that corresponds to this package - * fragment root. - * A raw classpath entry corresponds to a package fragment root if once resolved - * this entry's path is equal to the root's path. + * fragment root. A raw classpath entry corresponds to a package fragment + * root if once resolved this entry's path is equal to the root's path. * - * @exception JavaModelException if this element does not exist or if an - * exception occurs while accessing its corresponding resource. - * @return the first raw classpath entry that corresponds to this package fragment root + * @exception JavaModelException + * if this element does not exist or if an exception occurs + * while accessing its corresponding resource. + * @return the first raw classpath entry that corresponds to this package + * fragment root * @since 2.0 */ -// IClasspathEntry getRawClasspathEntry() throws JavaModelException; - + // IClasspathEntry getRawClasspathEntry() throws JavaModelException; /** - * Returns the absolute path to the source archive attached to - * this package fragment root's binary archive. - * - * @return the absolute path to the corresponding source archive, - * or null if this package fragment root's binary archive - * has no corresponding source archive, or if this package fragment root - * is not a binary archive - * @exception JavaModelException if this operation fails + * Returns the absolute path to the source archive attached to this package + * fragment root's binary archive. + * + * @return the absolute path to the corresponding source archive, or + * null if this package fragment root's binary + * archive has no corresponding source archive, or if this package + * fragment root is not a binary archive + * @exception JavaModelException + * if this operation fails */ -// IPath getSourceAttachmentPath() throws JavaModelException; - + // IPath getSourceAttachmentPath() throws JavaModelException; /** - * Returns the path within this package fragment root's source archive. - * An empty path indicates that packages are located at the root of the - * source archive. - * - * @return the path within the corresponding source archive, - * or null if this package fragment root's binary archive - * has no corresponding source archive, or if this package fragment root - * is not a binary archive - * @exception JavaModelException if this operation fails + * Returns the path within this package fragment root's source archive. An + * empty path indicates that packages are located at the root of the source + * archive. + * + * @return the path within the corresponding source archive, or + * null if this package fragment root's binary + * archive has no corresponding source archive, or if this package + * fragment root is not a binary archive + * @exception JavaModelException + * if this operation fails */ -// IPath getSourceAttachmentRootPath() throws JavaModelException; - + // IPath getSourceAttachmentRootPath() throws JavaModelException; /** - * Returns whether this package fragment root's underlying - * resource is a binary archive (a JAR or zip file). + * Returns whether this package fragment root's underlying resource is a + * binary archive (a JAR or zip file). * - * @return true if this package fragment root's underlying resource is a binary archive, false otherwise + * @return true if this package fragment root's underlying resource is a + * binary archive, false otherwise */ public boolean isArchive(); - + /** - * Returns whether this package fragment root is external - * to the workbench (that is, a local file), and has no - * underlying resource. + * Returns whether this package fragment root is external to the workbench + * (that is, a local file), and has no underlying resource. * - * @return true if this package fragment root is external - * to the workbench (that is, a local file), and has no - * underlying resource, false otherwise + * @return true if this package fragment root is external to the workbench + * (that is, a local file), and has no underlying resource, false + * otherwise */ boolean isExternal(); - + /** * Moves the resource of this package fragment root to the destination path * as specified by IResource.move(IPath,int,IProgressMonitor) * but excluding nested source folders. *

- * If NO_RESOURCE_MODIFICATION is specified in - * updateModelFlags or if this package fragment root is external, - * this operation doesn't move the resource. updateResourceFlags - * is then ignored. - *

- * If DESTINATION_PROJECT_CLASSPATH is specified in - * updateModelFlags, updates the classpath of the - * destination's project (if it is a Java project). If a non-null - * sibling is specified, a copy of this root's classpath entry is inserted before the - * sibling on the destination project's raw classpath. If null is - * specified, the classpath entry is added at the end of the raw classpath. - *

- * If ORIGINATING_PROJECT_CLASSPATH is specified in - * updateModelFlags, update the raw classpath of this package - * fragment root's project by removing the corresponding classpath entry. - *

- * If OTHER_REFERRING_PROJECTS_CLASSPATH is specified in - * updateModelFlags, update the raw classpaths of all other Java - * projects referring to this root's resource by removing the corresponding classpath - * entries. - *

+ * If NO_RESOURCE_MODIFICATION is specified in + * updateModelFlags or if this package fragment root is + * external, this operation doesn't move the resource. + * updateResourceFlags is then ignored. + *

+ *

+ * If DESTINATION_PROJECT_CLASSPATH is specified in + * updateModelFlags, updates the classpath of the + * destination's project (if it is a Java project). If a non-null + * sibling is specified, a copy of this root's classpath entry is inserted + * before the sibling on the destination project's raw classpath. If + * null is specified, the classpath entry is added at the end + * of the raw classpath. + *

+ *

+ * If ORIGINATING_PROJECT_CLASSPATH is specified in + * updateModelFlags, update the raw classpath of this + * package fragment root's project by removing the corresponding classpath + * entry. + *

+ *

+ * If OTHER_REFERRING_PROJECTS_CLASSPATH is specified in + * updateModelFlags, update the raw classpaths of all other + * Java projects referring to this root's resource by removing the + * corresponding classpath entries. + *

+ *

* If REPLACE is specified in updateModelFlags, - * overwrites the resource at the destination path if any. - * If the same classpath entry already exists on the destination project's raw - * classpath, then the sibling is ignored and the new classpath entry replaces the - * existing one. - *

- * If no flags is specified in updateModelFlags (using + * overwrites the resource at the destination path if any. If the same + * classpath entry already exists on the destination project's raw + * classpath, then the sibling is ignored and the new classpath entry + * replaces the existing one. + *

+ *

+ * If no flags is specified in updateModelFlags (using * IResource.NONE), the default behavior applies: the * resource is moved (if this package fragment root is not external) and no * classpaths are updated. *

* - * @param destination the destination path - * @param updateFlags bit-wise or of update flag constants - * (IResource.FORCE, IResource.KEEP_HISTORY - * and IResource.SHALLOW) - * @param updateModelFlags bit-wise or of update resource flag constants - * (DESTINATION_PROJECT_CLASSPATH, - * ORIGINATING_PROJECT_CLASSPATH, - * OTHER_REFERRING_PROJECTS_CLASSPATH and - * NO_RESOURCE_MODIFICATION) - * @param sibling the classpath entry before which a copy of the classpath - * entry should be inserted or null if the classpath entry should - * be inserted at the end - * @param monitor a progress monitor + * @param destination + * the destination path + * @param updateFlags + * bit-wise or of update flag constants (IResource.FORCE, + * IResource.KEEP_HISTORY and + * IResource.SHALLOW) + * @param updateModelFlags + * bit-wise or of update resource flag constants (DESTINATION_PROJECT_CLASSPATH, + * ORIGINATING_PROJECT_CLASSPATH, + * OTHER_REFERRING_PROJECTS_CLASSPATH and + * NO_RESOURCE_MODIFICATION) + * @param sibling + * the classpath entry before which a copy of the classpath entry + * should be inserted or null if the classpath + * entry should be inserted at the end + * @param monitor + * a progress monitor * - * @exception JavaModelException if this root could not be moved. Reasons - * include: - * + * @exception JavaModelException + * if this root could not be moved. Reasons include: + * * @see org.eclipse.core.resources.IResource#move * @since 2.1 */ -// void move(IPath destination, int updateResourceFlags, int updateModelFlags, IClasspathEntry sibling, IProgressMonitor monitor) throws JavaModelException; + // void move(IPath destination, int updateResourceFlags, int + // updateModelFlags, IClasspathEntry sibling, IProgressMonitor monitor) + // throws JavaModelException; } \ No newline at end of file