51 import com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext;
52
53 import org.xml.sax.SAXException;
54
55 /**
56 * Encapsulates various JAXB operations on objects bound by JAXB.
57 * Immutable and thread-safe.
58 *
59 * <p>
60 * Each JAXB-bound class has a corresponding {@link JaxBeanInfo} object,
61 * which performs all the JAXB related operations on behalf of
62 * the JAXB-bound object.
63 *
64 * <p>
65 * Given a class, the corresponding {@link JaxBeanInfo} can be located
66 * via {@link JAXBContextImpl#getBeanInfo(Class,boolean)}.
67 *
68 * <p>
69 * Typically, {@link JaxBeanInfo} implementations should be generated
70 * by XJC/JXC. Those impl classes will register themselves to their
71 * master <tt>ObjectFactory</tt> class.
72 *
73 * <p>
74 * The type parameter BeanT is the Java class of the bean that this represents.
75 *
76 * @author
77 * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
78 */
79 public abstract class JaxBeanInfo<BeanT> {
80
81 protected boolean isNilIncluded = false;
82
83 /**
84 * For {@link JaxBeanInfo} that has multiple type names.
85 */
86 protected JaxBeanInfo(JAXBContextImpl grammar, RuntimeTypeInfo rti, Class<BeanT> jaxbType, QName[] typeNames, boolean isElement,boolean isImmutable, boolean hasLifecycleEvents) {
87 this(grammar,rti,jaxbType,(Object)typeNames,isElement,isImmutable,hasLifecycleEvents);
88 }
89
90 /**
91 * For {@link JaxBeanInfo} that has one type name.
|
51 import com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext;
52
53 import org.xml.sax.SAXException;
54
55 /**
56 * Encapsulates various JAXB operations on objects bound by JAXB.
57 * Immutable and thread-safe.
58 *
59 * <p>
60 * Each JAXB-bound class has a corresponding {@link JaxBeanInfo} object,
61 * which performs all the JAXB related operations on behalf of
62 * the JAXB-bound object.
63 *
64 * <p>
65 * Given a class, the corresponding {@link JaxBeanInfo} can be located
66 * via {@link JAXBContextImpl#getBeanInfo(Class,boolean)}.
67 *
68 * <p>
69 * Typically, {@link JaxBeanInfo} implementations should be generated
70 * by XJC/JXC. Those impl classes will register themselves to their
71 * master {@code ObjectFactory} class.
72 *
73 * <p>
74 * The type parameter BeanT is the Java class of the bean that this represents.
75 *
76 * @author
77 * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
78 */
79 public abstract class JaxBeanInfo<BeanT> {
80
81 protected boolean isNilIncluded = false;
82
83 /**
84 * For {@link JaxBeanInfo} that has multiple type names.
85 */
86 protected JaxBeanInfo(JAXBContextImpl grammar, RuntimeTypeInfo rti, Class<BeanT> jaxbType, QName[] typeNames, boolean isElement,boolean isImmutable, boolean hasLifecycleEvents) {
87 this(grammar,rti,jaxbType,(Object)typeNames,isElement,isImmutable,hasLifecycleEvents);
88 }
89
90 /**
91 * For {@link JaxBeanInfo} that has one type name.
|