1 <!-- |
|
2 Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
|
3 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
4 |
|
5 This code is free software; you can redistribute it and/or modify it |
|
6 under the terms of the GNU General Public License version 2 only, as |
|
7 published by the Free Software Foundation. Oracle designates this |
|
8 particular file as subject to the "Classpath" exception as provided |
|
9 by Oracle in the LICENSE file that accompanied this code. |
|
10 |
|
11 This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 version 2 for more details (a copy is included in the LICENSE file that |
|
15 accompanied this code). |
|
16 |
|
17 You should have received a copy of the GNU General Public License version |
|
18 2 along with this work; if not, write to the Free Software Foundation, |
|
19 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 |
|
21 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
|
22 or visit www.oracle.com if you need additional information or have any |
|
23 questions. |
|
24 --> |
|
25 |
|
26 <html><body> |
|
27 |
|
28 |
|
29 API for programmatic invocation of XJC and schemagen. |
|
30 |
|
31 <p> |
|
32 This package provides a way to invoke XJC from within another program. |
|
33 The primary target of this API is the JAX-WS RI, but we hope that |
|
34 this API would be useful for other integration purposes as well. |
|
35 |
|
36 <h2>Getting Started: Using XJC</h2> |
|
37 <p> |
|
38 To invoke XJC, a typical client would do something like this: |
|
39 <pre> |
|
40 SchemaCompiler sc = XJC.createSchemaCompiler(); |
|
41 sc.parseSchema(new InputSource(schema1Url.toExternalForm())); |
|
42 sc.parseSchema(new InputSource(schema2Url.toExternalForm())); |
|
43 ... |
|
44 S2JModel model = sc.bind(); |
|
45 </pre> |
|
46 <p> |
|
47 The bind operation causes XJC to do the bulk of the work, such as |
|
48 figuring out what classes to generate, what methods/fields to generate, etc. |
|
49 The obtained model contains useful introspective information about |
|
50 how the binding was performed (such as the mapping between XML types |
|
51 and generated Java classes) |
|
52 |
|
53 <p> |
|
54 Once the model is obtained, generate the code into the file system as follows: |
|
55 <pre> |
|
56 JCodeModel cm = model.generateCode( null, ... ); |
|
57 cm.build(new FileCodeWriter(outputDir)); |
|
58 </pre> |
|
59 |
|
60 |
|
61 <h2>Implementation Note</h2> |
|
62 <p> |
|
63 This package shouldn't contain any implementation code. |
|
64 </body></html> |
|