Package Name | Comment |
com.sun.istack | istack-commons runtime utilities. |
com.sun.xml.bind | |
com.sun.xml.bind.annotation | |
com.sun.xml.bind.api | Runtime API for the JAX-WS RI.
This API is designed for the use by the JAX-WS RI runtime. |
com.sun.xml.bind.api.impl | |
com.sun.xml.bind.marshaller | |
com.sun.xml.bind.unmarshaller | |
com.sun.xml.bind.util | |
com.sun.xml.bind.v2 | The JAXB 2.0 runtime.
Overview
This module provides code that implements
JAXBContext .
Roughly speaking the runtime works like this:
- There's a set of classes and interfaces that model JAXB-bound types.
You can think of this as a reflection library for JAXB.
- There's a set of classes that constitute the unmarshaller and marshaller.
Each class represents a small portion, and they are composed to perform
the operations.
-
JAXBContextImpl builds itself by reading the model and
composing unmarshallers and marshallers.
Interesting Pieces inside Runtime
The followings are the interesting pieces inside the runtime.
-
com.sun.xml.bind.v2.model model
-
This set of classes and interfaces models JAXB-bound types.
-
com.sun.xml.bind.v2.runtime XML I/O
-
This set of classes implements the JAXB API and provides the XML I/O functionality.
The classes NOT in the
com.sun.xml.bind.v2 package (and its subpackages)
are also used by old JAXB 1.0 clients.
Models
"Model" is the portion of the code that represents JAXB-bound types.
The following picture illustrates the relationship among major
packages of the binding model.
The core model contracts are all interfaces, and they are parameterized
so that they can be used
with different reflection libraries. |
com.sun.xml.bind.v2.bytecode |
Code that deals with low level byte code manipulation.
|
com.sun.xml.bind.v2.model.annotation |
Abstraction around reading annotations, to support internal/external annotations.
|
com.sun.xml.bind.v2.model.core | The in-memory model of the JAXB-bound beans. |
com.sun.xml.bind.v2.model.impl |
Implementation of the com.sun.xml.bind.j2s.model package.
|
com.sun.xml.bind.v2.model.nav |
Abstraction around the reflection library, to support various reflection models (such as java.lang.reflect and APT).
|
com.sun.xml.bind.v2.model.runtime | The specialization of
com.sun.xml.bind.v2.model.core for the runtime.
This package offers stronger types and additional methods available at the runtime
to access objects according to the model. |
com.sun.xml.bind.v2.runtime |
Code that implements JAXBContext, Unmarshaller, and Marshaller.
|
com.sun.xml.bind.v2.runtime.output | Code that writes well-formed XML (
XmlOutput and its implementations}. |
com.sun.xml.bind.v2.runtime.property | |
com.sun.xml.bind.v2.runtime.reflect |
Abstraction around accessing data of actual objects.
|
com.sun.xml.bind.v2.runtime.reflect.opt |
Hosts optimized
{@link com.sun.xml.bind.v2.runtime.reflect.Accessor},
{@link com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor}, and
{@link com.sun.xml.bind.v2.runtime.Transducer}.
How it works
Most of the classes in this package are "templates." At run-time,
A template class file is slightly modified to match the target Java Bean,
then it will be loaded into the VM.
|
com.sun.xml.bind.v2.runtime.unmarshaller | |
com.sun.xml.bind.v2.schemagen | Schema generator. |
com.sun.xml.bind.v2.schemagen.episode | TXW interfaces for writing episode file, which is what XJC needs to
handle separate compilation. |
com.sun.xml.bind.v2.schemagen.xmlschema |
XML Schema writer generated by TXW.
|
com.sun.xml.bind.v2.util | |
com.sun.xml.txw2 |
TXW runtime.
|
com.sun.xml.txw2.annotation |
Defines a set of annotations that can be used on TypedXmlWriter interfaces.
Package-level Annotation
{@link XmlNamespace} can be used on a package to designate the namespace URI for the
whole package.
Interface Annotation
{@link XmlElement} can be used on TypedXmlWriter-derived interfaces to associate
a tag name to that interface.
Method Annotations
{@link XmlElement}, {@link XmlAttribute}, or {@link XmlValue} can be used on a method
declared on a TypedXmLWriter-derived interface. Those annotations are mutually-exclusive.
See their javadoc for details. If none of the above three annotations are specified,
{@link XmlElement} is assumed.
|
com.sun.xml.txw2.output |
Defines XmlSerializer and its built-in implementations.
|