This document lists changes made to the Java Support APIs. Please ask on the 
dev@java.netbeans.org or nbdev@netbeans.org
mailing list if you have any questions about the details of a
change, or are wondering how to convert existing code to be compatible.
Fuller descriptions of all changes can be found below (follow links).
Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.
ClassPath API changed to be pluggable and better support build system
ClassPath API changed to be pluggable and better support build system
GlobalPathRegistry
These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:
OpenIDE-Module-Module-Dependencies: org.netbeans.api.java/1 > 1.20
ClassPath API changed to be pluggable and better support build system
GlobalPathRegistry
org.netbeans.api.java.queries.AccessibilityQuery
org.netbeans.spi.java.queries.AccessibilityQueryImplementation
org.netbeans.api.java.queries.BinaryForSourceQuery
org.netbeans.spi.java.queries.BinaryForSourceQueryImplementation
org.netbeans.api.java.classpath.ClassPath
ClassPath API changed to be pluggable and better support build system
org.netbeans.spi.java.classpath.ClassPathFactory
org.netbeans.spi.java.classpath.ClassPathImplementation
org.netbeans.spi.java.classpath.ClassPathProvider
org.netbeans.spi.java.classpath.support.ClassPathSupport
org.netbeans.spi.java.classpath.support.CompositePathResourceBase
org.netbeans.spi.java.classpath.FilteringPathResourceImplementation
org.netbeans.api.java.classpath.GlobalPathRegistry
GlobalPathRegistry
org.netbeans.api.java.queries.JavadocForBinaryQuery
org.netbeans.spi.java.queries.JavadocForBinaryQueryImplementation
org.netbeans.spi.java.queries.MultipleRootsUnitTestForSourceQueryImplementation
org.netbeans.spi.java.classpath.support.PathResourceBase
org.netbeans.spi.java.classpath.PathResourceImplementation
org.netbeans.api.java.queries.SourceForBinaryQuery
org.netbeans.spi.java.queries.SourceForBinaryQueryImplementation
org.netbeans.api.java.queries.SourceLevelQuery
org.netbeans.spi.java.queries.SourceLevelQueryImplementation
org.netbeans.api.java.queries.UnitTestForSourceQuery
org.netbeans.spi.java.queries.UnitTestForSourceQueryImplementation
ClassPath FilteringPathResourceImplementation; made by: jglick; issues: 
            #49026
                    Classpath implementations can now specify which files and folders/packages to include
                    or exclude. (This could be used for binary classpaths such as COMPILE but
                    currently only excludes on SOURCE paths are honored by Java language features.)
                
                    It is possible for clients of existing ClassPath methods to have made
                    assumptions about their behavior that are no longer true.
                
ClassPath API changed to be pluggable and better support build system
ClassPath ClassPathProvider ClassPathFactory ClassPathImplementation PathResourceImplementation ClassPathSupport CompositePathResourceBase PathResourceBase; made by: jglick
                    
ClassPath is now final, not abstract. (Not
                    incompatible, since the constructor was never public.) Same
                    for ClassPath.Entry.
                
                    
getClassPath now looks for
                    ClassPathProviders rather than delegating to the
                    filesystems mounted in Repository.
                
                    The classpath type DEBUG was deprecated.
                    SOURCE and BOOT were added.
                
                    
ClassPath.Entry.getURL() was added.
                
                    There is a complete SPI for creating ClassPath
                    instances.
                
                    Code which just called ClassPath.getClassPath
                    and so on as API clients should still be safe, but
                    passing null as a reference file no longer works.
                
GlobalPathRegistry
GlobalPathRegistry; made by: jglick
GlobalPathRegistry to represent
                classpaths of current interest, typically from open projects.
            
                    Note that GlobalPathRegistry serves some of the
                    same functions as Repository.default used to,
                    but client code should be reviewed carefully for usage.
                
null. Although the implementation functioned that way
	    from the beginning, it is considered an incompatible change (tightening of
	    the contract).
	BinaryForSourceQuery BinaryForSourceQueryImplementation; made by: tzezula
The new API BinaryForSourceQuery was added to allow clients to find out the output (class files) corresponding to source root. The query uses instances of a SPI interface BinaryForSourceQueryImplementation registered in the system lookup to find out the binaries. When no binary is found it uses the default algorithm (SFBQ.findSources(ClassPath.EXECUTE) == sourceRoot)
UnitTestForSourceQuery UnitTestForSourceQueryImplementation MultipleRootsUnitTestForSourceQueryImplementation; made by: tzezula
                Added two static methods, findSources(FileObject) and findUnitTests(FileObject),
                into UnitTestForSourceQuery. Added a new SPI interface
                MultipleRootsUnitTestForSourceQueryImplementation which allows to a project type to return
                more than one source/test root.
                The change was required to allow support of multiple source and test roots.
                
UnitTestForSourceQueryImplementation rather than
                MultipleRootsUnitTestForSourceQueryImplementation.
            SourceLevelQuery SourceLevelQueryImplementation; made by: dkonecny
Added query answering the source level of a Java file.
AccessibilityQuery JavadocForBinaryQuery SourceForBinaryQuery UnitTestForSourceQuery AccessibilityQueryImplementation JavadocForBinaryQueryImplementation SourceForBinaryQueryImplementation UnitTestForSourceQueryImplementation; made by: jglick
Several new queries were added (API and SPI) to represent various aspects of Java sources.
Built on May 28 2007. | Portions Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.