JDK-4493863 : javac: Allow in/output repositories (incl. databases) and in/out "hook" classes
  • Type: Enhancement
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 1.4.0
  • Priority: P5
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2001-08-20
  • Updated: 2001-08-20
  • Resolved: 2001-08-20
Related Reports
Duplicate :  

Name: krC82822			Date: 08/20/2001

orig synopsis:  "Redirect the input and output of .java and .class files"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
Java HotSpot(TM) Client VM (build 1.3.0, mixed mode)

javac reads .java files from the file system and writes .class files to the file
system.  It would be useful to read and write directly to and from other
repositories [including databases].

In particular, it would be nice to be able to write .class files directly
to .jar files [instead of creating .jar files from the compliation results].
This would simplify and expedite some builds.

Supporting other repositories such as a relational database
would provide direct/additional support for writing development tools.

Pre and post filtering to/from files would be possible.

Such features could be supported by passing an inputter and and outputter class
to 'javac' - similar to the way doclets specialize the behaviour of javadoc -
though the class would be much simpler than doclets:

interface JavacLet {
  Reader getReader (String className);
  Writer getWriter (String className);
(Review ID: 130297) 

EVALUATION A perfectly reasonable suggestion. I plan to start a JSR for the Tiger (1.5) timeframe to address this issue. ###@###.### 2001-08-20