> Please review a moderately simple addition to the `JavadocTester` world, to 
> be able to modify the behavior of a file manager to throw exceptions as 
> needed.
> 
> The bulk of the new functionality is in a new class, 
> `TestJavaFileManagerBuilder`, which uses the builder pattern to allow a 
> client to configure and build a file manager that can provide file objects 
> for which the behavior can be overridden for one or more methods.  The 
> expected use case is to throw an exception instead of calling the underlying 
> delegate method.
> 
> `JavadocTester` is modified to allow a file manager to be provided when 
> invoking `javadoc`. This requires some minor changes to the outermost javadoc 
> tool classes, `Main` and `Start`.  Rather than add more `static` methods to 
> `Main`, instance methods are now provided to make it easier to configure the 
> values that will be passed to `Start`.    In `Start`, it was previously 
> assumed that either the default file manager was being used or that _all_ 
> paths would be configured directly in the file manager. The latter part of 
> that assumption is reduced so that path-setting options (e.g. 
> `--source-path`, `--class-path` etc) can be passed to the provided file 
> manager. (Previously, they were silently ignored.) It is an error to pass 
> path-like options as javadoc options to a file manager that does not support 
> them.  However, since none of the changes are visible to any public API, this 
> should not be an issue.
> 
> A new test is provided, with a few simple test cases. One is for direct use 
> of the new file manager mechanism (without using `javadoc`). The other two 
> illustrate how the feature can be used inside a `JavadocTester` call of 
> `javadoc`.  Given that the feature is a relatively simple combination of 
> predicates and proxies, it's not clear that we need a significant body of 
> test cases.

Jonathan Gibbons has updated the pull request incrementally with one additional 
commit since the last revision:

  address review feedback

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6404/files
  - new: https://git.openjdk.java.net/jdk/pull/6404/files/d008ab3a..69c7d350

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6404&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6404&range=02-03

  Stats: 61 lines in 2 files changed: 10 ins; 12 del; 39 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6404.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6404/head:pull/6404

PR: https://git.openjdk.java.net/jdk/pull/6404

Reply via email to