Lines 464-469
Link Here
|
464 |
* A classpath variable provides an indirection level for better sharing a classpath. As an example, it allows |
464 |
* A classpath variable provides an indirection level for better sharing a classpath. As an example, it allows |
465 |
* a classpath to no longer refer directly to external JARs located in some user specific location. The classpath |
465 |
* a classpath to no longer refer directly to external JARs located in some user specific location. The classpath |
466 |
* can simply refer to some variables defining the proper locations of these external JARs. |
466 |
* can simply refer to some variables defining the proper locations of these external JARs. |
|
|
467 |
* TODO (jim) please reformulate to include classpath containers in resolution aspects |
467 |
* <p> |
468 |
* <p> |
468 |
* Note that in case the project isn't yet opened, the classpath will directly be read from the associated <tt>.classpath</tt> file. |
469 |
* Note that in case the project isn't yet opened, the classpath will directly be read from the associated <tt>.classpath</tt> file. |
469 |
* <p> |
470 |
* <p> |
Lines 801-804
Link Here
|
801 |
*/ |
802 |
*/ |
802 |
void setRawClasspath(IClasspathEntry[] entries, IPath outputLocation, IProgressMonitor monitor) |
803 |
void setRawClasspath(IClasspathEntry[] entries, IPath outputLocation, IProgressMonitor monitor) |
803 |
throws JavaModelException; |
804 |
throws JavaModelException; |
|
|
805 |
|
806 |
|
807 |
/** |
808 |
* Returns the raw classpath for the project as defined by its <code>.classpath</code> file from disk, or <code>null</code> |
809 |
* if unable to read the file. |
810 |
* <p>This classpath may differ from the in-memory classpath returned by <code>getRawClasspath</code>, in case the |
811 |
* automatic reconciliation mechanism has not been performed yet. Usually, any change to the <code>.classpath</code> file |
812 |
* is automatically noticed and reconciled at the next resource change notification event. |
813 |
* However, if the file is modified within an operation, where this change needs to be taken into account before the |
814 |
* operation ends, then the classpath from disk can be read using this method, and further assigned to the project |
815 |
* using <code>setRawClasspath(...)</code>. |
816 |
* <p> |
817 |
* A raw classpath may contain classpath variable and/or container entries. Classpath variable entries can be resolved |
818 |
* individually (see <code>JavaCore#getClasspathVariable</code>), or the full classpath can be resolved at once using the |
819 |
* helper method <code>getResolvedClasspath</code>. |
820 |
* TODO (jim) please reformulate to include classpath containers in resolution aspects |
821 |
* <p> |
822 |
* Note that no check is performed whether the project has the Java nature set, allowing an existing <code>.classpath</code> |
823 |
* file to be considered independantly (unlike <code>getRawClasspath</code> which requires the Java nature to be associated |
824 |
* with the project). |
825 |
* |
826 |
* @return the raw classpath from disk for the project, as a list of classpath entries |
827 |
* @exception JavaModelException if this element does not exist or if an |
828 |
* exception occurs while accessing its corresponding resource |
829 |
* @see #getRawClassPath |
830 |
* @see IClasspathEntry |
831 |
* @since 3.0 |
832 |
*/ |
833 |
IClasspathEntry[] readRawClasspath() throws JavaModelException; |
834 |
|
835 |
/** |
836 |
* Returns the default output location for the project as defined by its <code>.classpath</code> file from disk, or <code>null</code> |
837 |
* if unable to read the file. |
838 |
* <p>This output location may differ from the in-memory one returned by <code>getOutputLocation</code>, in case the |
839 |
* automatic reconciliation mechanism has not been performed yet. Usually, any change to the <code>.classpath</code> file |
840 |
* is automatically noticed and reconciled at the next resource change notification event. |
841 |
* However, if the file is modified within an operation, where this change needs to be taken into account before the |
842 |
* operation ends, then the output location from disk can be read using this method, and further assigned to the project |
843 |
* using <code>setRawClasspath(...)</code>. |
844 |
* <p> |
845 |
* The default output location is where class files are ordinarily generated |
846 |
* (and resource files, copied). Each source classpath entry can also |
847 |
* specify an output location for the generated class files (and copied |
848 |
* resource files) corresponding to compilation units under that source |
849 |
* folder. This makes it possible to arrange generated class files for |
850 |
* different source folders in different output folders, and not |
851 |
* necessarily the default output folder. This means that the generated |
852 |
* class files for the project may end up scattered across several folders, |
853 |
* rather than all in the default output folder (which is more standard). |
854 |
* |
855 |
* @return the workspace-relative absolute path of the default output folder |
856 |
* @exception JavaModelException if this element does not exist |
857 |
* @see #getOutputLocation |
858 |
*/ |
859 |
IPath readOutputLocation() throws JavaModelException; |
804 |
} |
860 |
} |