You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/04/22 19:09:39 UTC
svn commit: r650577 [1/3] - in /servicemix/smx4/specs: ./ branches/ tags/
trunk/ trunk/jaxb-api/ trunk/jaxb-api/src/ trunk/jaxb-api/src/main/
trunk/jaxb-api/src/main/java/ trunk/jaxb-api/src/main/java/javax/
trunk/jaxb-api/src/main/java/javax/xml/ trun...
Author: gnodet
Date: Tue Apr 22 10:09:14 2008
New Revision: 650577
URL: http://svn.apache.org/viewvc?rev=650577&view=rev
Log:
SMX4-15: Make JEE specs that use the services discovery mechanism work in OSGi
Added:
servicemix/smx4/specs/
servicemix/smx4/specs/branches/
servicemix/smx4/specs/tags/
servicemix/smx4/specs/trunk/ (with props)
servicemix/smx4/specs/trunk/jaxb-api/ (with props)
servicemix/smx4/specs/trunk/jaxb-api/pom.xml
servicemix/smx4/specs/trunk/jaxb-api/src/
servicemix/smx4/specs/trunk/jaxb-api/src/main/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Binder.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ContextFinder.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverter.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverterInterface.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Element.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBContext.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBElement.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBException.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBIntrospector.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/MarshalException.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Marshaller.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/NotIdentifiableEvent.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ParseConversionEvent.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PrintConversionEvent.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PropertyException.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/SchemaOutputResolver.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/TypeConstraintException.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshalException.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Unmarshaller.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshallerHandler.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEvent.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventHandler.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventLocator.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationException.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Validator.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/DomHandler.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/W3CDomHandler.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessOrder.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessType.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorOrder.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorType.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyAttribute.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyElement.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttachmentRef.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttribute.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElement.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementDecl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRef.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRefs.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementWrapper.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElements.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnum.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnumValue.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlID.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlIDREF.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlInlineBinaryData.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlList.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMimeType.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMixed.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNs.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNsForm.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRegistry.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRootElement.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchema.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaType.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaTypes.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlTransient.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlType.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlValue.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlAdapter.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentMarshaller.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentUnmarshaller.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/DefaultValidationEventHandler.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/NotIdentifiableEventImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ParseConversionEventImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/PrintConversionEventImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBResult.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBSource.java
servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/ValidationEventCollector.java
servicemix/smx4/specs/trunk/jaxws-api/ (with props)
servicemix/smx4/specs/trunk/jaxws-api/pom.xml
servicemix/smx4/specs/trunk/jaxws-api/src/
servicemix/smx4/specs/trunk/jaxws-api/src/main/
servicemix/smx4/specs/trunk/jaxws-api/src/main/java/
servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/
servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/
servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/
servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/spi/
servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/spi/FactoryFinder.java
servicemix/smx4/specs/trunk/locator/
servicemix/smx4/specs/trunk/locator/pom.xml
servicemix/smx4/specs/trunk/locator/src/
servicemix/smx4/specs/trunk/locator/src/main/
servicemix/smx4/specs/trunk/locator/src/main/java/
servicemix/smx4/specs/trunk/locator/src/main/java/org/
servicemix/smx4/specs/trunk/locator/src/main/java/org/apache/
servicemix/smx4/specs/trunk/locator/src/main/java/org/apache/servicemix/
servicemix/smx4/specs/trunk/locator/src/main/java/org/apache/servicemix/specs/
servicemix/smx4/specs/trunk/locator/src/main/java/org/apache/servicemix/specs/locator/
servicemix/smx4/specs/trunk/locator/src/main/java/org/apache/servicemix/specs/locator/Activator.java
servicemix/smx4/specs/trunk/locator/src/main/java/org/apache/servicemix/specs/locator/OsgiLocator.java
servicemix/smx4/specs/trunk/pom.xml
servicemix/smx4/specs/trunk/saaj-api/ (with props)
servicemix/smx4/specs/trunk/saaj-api/pom.xml
servicemix/smx4/specs/trunk/saaj-api/src/
servicemix/smx4/specs/trunk/saaj-api/src/main/
servicemix/smx4/specs/trunk/saaj-api/src/main/java/
servicemix/smx4/specs/trunk/saaj-api/src/main/java/javax/
servicemix/smx4/specs/trunk/saaj-api/src/main/java/javax/xml/
servicemix/smx4/specs/trunk/saaj-api/src/main/java/javax/xml/soap/
servicemix/smx4/specs/trunk/saaj-api/src/main/java/javax/xml/soap/FactoryFinder.java
servicemix/smx4/specs/trunk/stax-api/ (with props)
servicemix/smx4/specs/trunk/stax-api/pom.xml
servicemix/smx4/specs/trunk/stax-api/src/
servicemix/smx4/specs/trunk/stax-api/src/main/
servicemix/smx4/specs/trunk/stax-api/src/main/java/
servicemix/smx4/specs/trunk/stax-api/src/main/java/javax/
servicemix/smx4/specs/trunk/stax-api/src/main/java/javax/xml/
servicemix/smx4/specs/trunk/stax-api/src/main/java/javax/xml/stream/
servicemix/smx4/specs/trunk/stax-api/src/main/java/javax/xml/stream/FactoryLocator.java
Propchange: servicemix/smx4/specs/trunk/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Apr 22 10:09:14 2008
@@ -0,0 +1,9 @@
+target
+*.iml
+*.ipr
+*.iws
+.classpath
+.project
+.settings
+
+
Propchange: servicemix/smx4/specs/trunk/jaxb-api/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Apr 22 10:09:14 2008
@@ -0,0 +1,9 @@
+target
+*.iml
+*.ipr
+*.iws
+.classpath
+.project
+.settings
+
+
Added: servicemix/smx4/specs/trunk/jaxb-api/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/pom.xml?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/pom.xml (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/pom.xml Tue Apr 22 10:09:14 2008
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>specs</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.jaxb-api-2.0</artifactId>
+ <packaging>bundle</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Apache ServiceMix Specs :: JAXB API</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.locator</artifactId>
+ <version>${project.version}</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-stax-api_1.0_spec</artifactId>
+ <version>${geronimo.stax.version}</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-activation_1.1_spec</artifactId>
+ <version>${geronimo.activation.version}</version>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Export-Package>javax.xml.bind*;version=2.0;-split-package:=merge-first</Export-Package>
+ <Import-Package>*</Import-Package>
+ <Private-Package>org.apache.servicemix.specs.locator</Private-Package>
+ <Bundle-Activator>org.apache.servicemix.specs.locator.Activator</Bundle-Activator>
+ </instructions>
+ <unpackBundle>true</unpackBundle>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Binder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Binder.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Binder.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Binder.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,43 @@
+package javax.xml.bind;
+
+import javax.xml.validation.Schema;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:36:09 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class Binder<XmlNode> {
+
+ public abstract ValidationEventHandler getEventHandler() throws JAXBException;
+
+ public abstract Object getJAXBNode(XmlNode xmlNode);
+
+ public abstract Object getProperty(String name) throws PropertyException;
+
+ public abstract Schema getSchema();
+
+ public abstract XmlNode getXmlNode(Object jaxbObject);
+
+ public abstract void marshal(Object jaxbObject, XmlNode xmlNode) throws JAXBException;
+
+ public abstract void setEventHandler(ValidationEventHandler handler) throws JAXBException;
+
+ public abstract void setProperty(String name, Object value) throws PropertyException;
+
+ public abstract void setSchema(Schema schema);
+
+ public abstract Object unmarshal(XmlNode xmlNode) throws JAXBException;
+
+ public abstract <T> JAXBElement<T> unmarshal(XmlNode xmlNode, Class<T> declaredType) throws JAXBException;
+
+ public abstract Object updateJAXB(XmlNode xmlNode) throws JAXBException;
+
+ public abstract XmlNode updateXML(Object jaxbObject) throws JAXBException;
+
+ public abstract XmlNode updateXML(Object jaxbObject, XmlNode xmlNode) throws JAXBException;
+
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ContextFinder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ContextFinder.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ContextFinder.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ContextFinder.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,279 @@
+package javax.xml.bind;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.util.Map;
+import java.util.Properties;
+import java.util.StringTokenizer;
+import java.util.logging.Logger;
+import java.util.logging.Level;
+import java.util.logging.ConsoleHandler;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.BufferedReader;
+import java.io.UnsupportedEncodingException;
+import java.io.InputStreamReader;
+
+class ContextFinder {
+
+ private static final String PLATFORM_DEFAULT_FACTORY_CLASS = "com.sun.xml.bind.v2.ContextFactory";
+ private static final String JAXB_CONTEXT_PROPERTY = JAXBContext.class.getName();
+ private static final String JAXB_CONTEXT_FACTORY = JAXBContext.JAXB_CONTEXT_FACTORY;
+
+ ContextFinder() {
+ }
+
+ public static JAXBContext find(String contextPath, ClassLoader classLoader, Map properties) throws JAXBException {
+ String factoryClassName = null;
+
+ // Searching jaxb.properties
+ if (factoryClassName == null) {
+ StringTokenizer packages = new StringTokenizer(contextPath, ":");
+ if (!packages.hasMoreTokens()) {
+ throw new JAXBException("No package name is given");
+ }
+ while (packages.hasMoreTokens()) {
+ String packageName = packages.nextToken(":").replace('.', '/');
+ String propFileName = packageName + "/jaxb.properties";
+ Properties props = loadJAXBProperties(classLoader, propFileName);
+ if (props != null) {
+ if (props.containsKey(JAXB_CONTEXT_FACTORY)) {
+ factoryClassName = props.getProperty(JAXB_CONTEXT_FACTORY);
+ break;
+ } else {
+ throw new JAXBException("jaxb.properties in package " + packageName + " does not contain the "
+ + JAXB_CONTEXT_FACTORY + " property");
+ }
+ }
+ }
+ }
+
+ // Searching the system property
+ if (factoryClassName == null) {
+ factoryClassName = System.getProperty(JAXB_CONTEXT_PROPERTY, null);
+ }
+
+ // Searching META-INF/services
+ if (factoryClassName == null) {
+ try {
+ String resource = "META-INF/services/" + JAXB_CONTEXT_PROPERTY;
+ InputStream resourceStream = classLoader.getResourceAsStream(resource);
+ if (resourceStream != null) {
+ BufferedReader r = new BufferedReader(new InputStreamReader(resourceStream, "UTF-8"));
+ factoryClassName = r.readLine().trim();
+ }
+ } catch (IOException e) {
+ throw new JAXBException(e);
+ }
+ }
+
+ // Trying to create the platform default provider
+ if (factoryClassName == null) {
+ factoryClassName = PLATFORM_DEFAULT_FACTORY_CLASS;
+ }
+
+ // Create the jaxb context
+ return newInstance(contextPath, factoryClassName, classLoader, properties);
+ }
+
+
+ public static JAXBContext find(Class classes[], Map properties) throws JAXBException {
+ String factoryClassName = null;
+
+ // Checking the packages
+ if (factoryClassName == null) {
+ for (Class c : classes) {
+ ClassLoader classLoader = c.getClassLoader();
+ Package pkg = c.getPackage();
+ if (pkg == null) {
+ continue;
+ }
+ String packageName = pkg.getName().replace('.', '/');
+ String resourceName = packageName + "/jaxb.properties";
+ Properties props = loadJAXBProperties(classLoader, resourceName);
+ if (props == null) {
+ continue;
+ }
+ if (props.containsKey(JAXBContext.JAXB_CONTEXT_FACTORY)) {
+ factoryClassName = props.getProperty(JAXBContext.JAXB_CONTEXT_FACTORY).trim();
+ break;
+ } else {
+ throw new JAXBException("jaxb.properties in package " + packageName + " does not contain the " + JAXBContext.JAXB_CONTEXT_FACTORY + " property");
+ }
+ }
+ }
+
+ // Checking system property JAXB_CONTEXT_PROPERTY
+ if (factoryClassName == null) {
+ factoryClassName = System.getProperty(JAXB_CONTEXT_PROPERTY, null);
+ }
+
+ // Checking META-INF/services
+ if (factoryClassName == null) {
+ try {
+ String resource = "META-INF/services/" + JAXB_CONTEXT_PROPERTY;
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ URL resourceURL;
+ if (classLoader == null) {
+ resourceURL = ClassLoader.getSystemResource(resource);
+ } else {
+ resourceURL = classLoader.getResource(resource);
+ }
+ if (resourceURL != null) {
+ BufferedReader r = new BufferedReader(new InputStreamReader(resourceURL.openStream(), "UTF-8"));
+ factoryClassName = r.readLine().trim();
+ }
+ } catch (IOException e) {
+ throw new JAXBException(e);
+ }
+ }
+
+ // Trying to create the platform default provider
+ if (factoryClassName == null) {
+ factoryClassName = PLATFORM_DEFAULT_FACTORY_CLASS;
+ }
+
+ // Create the jaxb context
+ return newInstance(classes, properties, factoryClassName);
+ }
+
+ private static JAXBContext newInstance(String contextPath, String className, ClassLoader classLoader, Map properties) throws JAXBException {
+ Class spiClass = loadSpiClass(className, classLoader);
+ try {
+ Object context = null;
+ try {
+ Method m = spiClass.getMethod("createContext", new Class[] { String.class, ClassLoader.class, Map.class });
+ context = m.invoke(null, new Object[] { contextPath, classLoader, properties });
+ }
+ catch(NoSuchMethodException e) { }
+ if (context == null) {
+ Method m = spiClass.getMethod("createContext", new Class[] { String.class, ClassLoader.class });
+ context = m.invoke(null, new Object[] { contextPath, classLoader });
+ }
+ if (!(context instanceof JAXBContext)) {
+ handleClassCastException(context.getClass(), JAXBContext.class);
+ }
+ return (JAXBContext)context;
+ } catch(InvocationTargetException x) {
+ handleInvocationTargetException(x);
+ Throwable e = x;
+ if (x.getTargetException() != null) {
+ e = x.getTargetException();
+ }
+ throw new JAXBException("Provider " + className + " coult not be instanciated: " + e, e);
+ } catch (RuntimeException x) {
+ throw x;
+ } catch (Exception x) {
+ throw new JAXBException("Provider " + className + " coult not be instanciated: " + x, x);
+ }
+ }
+
+ private static Class loadSpiClass(String className, ClassLoader cl) throws JAXBException {
+ Class spiClass;
+ try {
+ // If inside an OSGi context, leverage it
+ spiClass = org.apache.servicemix.specs.locator.OsgiLocator.locate(JAXBContext.class.getName());
+ if (spiClass != null) {
+ return spiClass;
+ }
+ } catch (Throwable t) {
+ }
+ try {
+ if(cl != null) {
+ spiClass = cl.loadClass(className);
+ } else {
+ spiClass = Class.forName(className);
+ }
+ } catch(ClassNotFoundException e) {
+ throw new JAXBException("Provider " + className + " not found", e);
+ }
+ return spiClass;
+ }
+
+ private static JAXBContext newInstance(Class classes[], Map properties, String className) throws JAXBException {
+ Class spiClass = loadSpiClass(className, Thread.currentThread().getContextClassLoader());
+ return newInstance(classes, properties, spiClass);
+ }
+
+ private static JAXBContext newInstance(Class classes[], Map properties, Class spiClass) throws JAXBException {
+ Method m;
+ try {
+ m = spiClass.getMethod("createContext", new Class[] { Class[].class, Map.class });
+ } catch(NoSuchMethodException e) {
+ throw new JAXBException(e);
+ }
+ try {
+ Object context = m.invoke(null, new Object[] { classes, properties });
+ if (!(context instanceof JAXBContext)) {
+ handleClassCastException(context.getClass(), JAXBContext.class);
+ }
+ return (JAXBContext)context;
+ } catch(IllegalAccessException e) {
+ throw new JAXBException(e);
+ } catch(InvocationTargetException e) {
+ handleInvocationTargetException(e);
+ Throwable x = e;
+ if(e.getTargetException() != null) {
+ x = e.getTargetException();
+ }
+ throw new JAXBException(x);
+ }
+ }
+
+ private static Properties loadJAXBProperties(ClassLoader classLoader, String propFileName) throws JAXBException {
+ Properties props = null;
+ try {
+ URL url;
+ if (classLoader == null) {
+ url = ClassLoader.getSystemResource(propFileName);
+ } else {
+ url = classLoader.getResource(propFileName);
+ }
+ if (url != null) {
+ props = new Properties();
+ InputStream is = url.openStream();
+ props.load(is);
+ is.close();
+ }
+ } catch(IOException ioe) {
+ throw new JAXBException(ioe.toString(), ioe);
+ }
+ return props;
+ }
+
+ private static URL which(Class clazz, ClassLoader loader) {
+ String classnameAsResource = clazz.getName().replace('.', '/') + ".class";
+ if (loader == null) {
+ loader = ClassLoader.getSystemClassLoader();
+ }
+ return loader.getResource(classnameAsResource);
+ }
+
+ private static URL which(Class clazz) {
+ return which(clazz, clazz.getClassLoader());
+ }
+
+ private static void handleInvocationTargetException(InvocationTargetException x) throws JAXBException {
+ Throwable t = x.getTargetException();
+ if (t != null) {
+ if (t instanceof JAXBException) {
+ throw (JAXBException) t;
+ }
+ if (t instanceof RuntimeException) {
+ throw (RuntimeException) t;
+ }
+ if (t instanceof Error) {
+ throw (Error) t;
+ }
+ }
+ }
+
+ private static void handleClassCastException(Class originalType, Class targetType) throws JAXBException {
+ URL targetTypeURL = which(targetType);
+ throw new JAXBException("ClassCastException: attempting to cast " +
+ originalType.getClass().getClassLoader().getResource("javax/xml/bind/JAXBContext.class").toString() +
+ " to " + targetTypeURL.toString() + ". Please make sure that you are specifying the proper ClassLoader.");
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverter.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverter.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverter.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverter.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,185 @@
+package javax.xml.bind;
+
+import java.util.Calendar;
+import java.math.BigInteger;
+import java.math.BigDecimal;
+
+import javax.xml.namespace.QName;
+import javax.xml.namespace.NamespaceContext;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:24:01 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class DatatypeConverter {
+
+ private static DatatypeConverterInterface converter = null;
+
+ private DatatypeConverter() {
+ }
+
+ public static void setDatatypeConverter(DatatypeConverterInterface converter) {
+ if (converter == null) {
+ throw new IllegalArgumentException("The DatatypeConverterInterface parameter must not be null");
+ }
+ if (DatatypeConverter.converter == null) {
+ DatatypeConverter.converter = converter;
+ }
+ }
+
+ public static String parseString(String lexicalXSDString) {
+ return converter.parseString(lexicalXSDString);
+ }
+
+ public static BigInteger parseInteger(String lexicalXSDInteger) {
+ return converter.parseInteger(lexicalXSDInteger);
+ }
+
+ public static int parseInt(String lexicalXSDInt) {
+ return converter.parseInt(lexicalXSDInt);
+ }
+
+ public static long parseLong(String lexicalXSDLong) {
+ return converter.parseLong(lexicalXSDLong);
+ }
+
+ public static short parseShort(String lexicalXSDShort) {
+ return converter.parseShort(lexicalXSDShort);
+ }
+
+ public static BigDecimal parseDecimal(String lexicalXSDDecimal) {
+ return converter.parseDecimal(lexicalXSDDecimal);
+ }
+
+ public static float parseFloat(String lexicalXSDFloat) {
+ return converter.parseFloat(lexicalXSDFloat);
+ }
+
+ public static double parseDouble(String lexicalXSDDouble) {
+ return converter.parseDouble(lexicalXSDDouble);
+ }
+
+ public static boolean parseBoolean(String lexicalXSDBoolean) {
+ return converter.parseBoolean(lexicalXSDBoolean);
+ }
+
+ public static byte parseByte(String lexicalXSDByte) {
+ return converter.parseByte(lexicalXSDByte);
+ }
+
+ public static QName parseQName(String lexicalXSDQName, NamespaceContext nsc) {
+ return converter.parseQName(lexicalXSDQName, nsc);
+ }
+
+ public static Calendar parseDateTime(String lexicalXSDDateTime) {
+ return converter.parseDateTime(lexicalXSDDateTime);
+ }
+
+ public static byte[] parseBase64Binary(String lexicalXSDBase64Binary) {
+ return converter.parseBase64Binary(lexicalXSDBase64Binary);
+ }
+
+ public static byte[] parseHexBinary(String lexicalXSDHexBinary) {
+ return converter.parseHexBinary(lexicalXSDHexBinary);
+ }
+
+ public static long parseUnsignedInt(String lexicalXSDUnsignedInt) {
+ return converter.parseUnsignedInt(lexicalXSDUnsignedInt);
+ }
+
+ public static int parseUnsignedShort(String lexicalXSDUnsignedShort) {
+ return converter.parseUnsignedShort(lexicalXSDUnsignedShort);
+ }
+
+ public static Calendar parseTime(String lexicalXSDTime) {
+ return converter.parseTime(lexicalXSDTime);
+ }
+
+ public static Calendar parseDate(String lexicalXSDDate) {
+ return converter.parseDate(lexicalXSDDate);
+ }
+
+ public static String parseAnySimpleType(String lexicalXSDAnySimpleType) {
+ return converter.parseAnySimpleType(lexicalXSDAnySimpleType);
+ }
+
+ public static String printString(String val) {
+ return converter.printString(val);
+ }
+
+ public static String printInteger(BigInteger val) {
+ return converter.printInteger(val);
+ }
+
+ public static String printInt(int val) {
+ return converter.printInt(val);
+ }
+
+ public static String printLong(long val) {
+ return converter.printLong(val);
+ }
+
+ public static String printShort(short val) {
+ return converter.printShort(val);
+ }
+
+ public static String printDecimal(BigDecimal val) {
+ return converter.printDecimal(val);
+ }
+
+ public static String printFloat(float val) {
+ return converter.printFloat(val);
+ }
+
+ public static String printDouble(double val) {
+ return converter.printDouble(val);
+ }
+
+ public static String printBoolean(boolean val) {
+ return converter.printBoolean(val);
+ }
+
+ public static String printByte(byte val) {
+ return converter.printByte(val);
+ }
+
+ public static String printQName(QName val, NamespaceContext nsc) {
+ return converter.printQName(val, nsc);
+ }
+
+ public static String printDateTime(Calendar val) {
+ return converter.printDateTime(val);
+ }
+
+ public static String printBase64Binary(byte val[]) {
+ return converter.printBase64Binary(val);
+ }
+
+ public static String printHexBinary(byte val[]) {
+ return converter.printHexBinary(val);
+ }
+
+ public static String printUnsignedInt(long val) {
+ return converter.printUnsignedInt(val);
+ }
+
+ public static String printUnsignedShort(int val) {
+ return converter.printUnsignedShort(val);
+ }
+
+ public static String printTime(Calendar val) {
+ return converter.printTime(val);
+ }
+
+ public static String printDate(Calendar val) {
+ return converter.printDate(val);
+ }
+
+ public static String printAnySimpleType(String val) {
+ return converter.printAnySimpleType(val);
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverterInterface.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverterInterface.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverterInterface.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/DatatypeConverterInterface.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,95 @@
+package javax.xml.bind;
+
+import java.util.Calendar;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+import javax.xml.namespace.QName;
+import javax.xml.namespace.NamespaceContext;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 8:47:04 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface DatatypeConverterInterface {
+
+ String parseAnySimpleType(String lexicalXSDAnySimpleType);
+
+ byte[] parseBase64Binary(String lexicalXSDBase64Binary);
+
+ boolean parseBoolean(String lexicalXSDBoolean);
+
+ byte parseByte(String lexicalXSDByte);
+
+ Calendar parseDate(String lexicalXSDDate);
+
+ Calendar parseDateTime(String lexicalXSDDateTime);
+
+ BigDecimal parseDecimal(String lexicalXSDDecimal);
+
+ double parseDouble(String lexicalXSDDouble);
+
+ float parseFloat(String lexicalXSDFloat);
+
+ byte[] parseHexBinary(String lexicalXSDHexBinary);
+
+ int parseInt(String lexicalXSDInt);
+
+ BigInteger parseInteger(String lexicalXSDInteger);
+
+ long parseLong(String lexicalXSDLong);
+
+ QName parseQName(String lexicalXSDQName, NamespaceContext nsc);
+
+ short parseShort(String lexicalXSDShort);
+
+ String parseString(String lexicalXSDString);
+
+ Calendar parseTime(String lexicalXSDTime);
+
+ long parseUnsignedInt(String lexicalXSDUnsignedInt);
+
+ int parseUnsignedShort(String lexicalXSDUnsignedShort);
+
+ String printAnySimpleType(String val);
+
+ String printBase64Binary(byte[] val);
+
+ String printBoolean(boolean val);
+
+ String printByte(byte val);
+
+ String printDate(Calendar val);
+
+ String printDateTime(Calendar val);
+
+ String printDecimal(BigDecimal val);
+
+ String printDouble(double val);
+
+ String printFloat(float val);
+
+ String printHexBinary(byte[] val);
+
+ String printInt(int val);
+
+ String printInteger(BigInteger val);
+
+ String printLong(long val);
+
+ String printQName(QName val, NamespaceContext nsc);
+
+ String printShort(short val);
+
+ String printString(String val);
+
+ String printTime(Calendar val);
+
+ String printUnsignedInt(long val);
+
+ String printUnsignedShort(int val);
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Element.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Element.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Element.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Element.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,11 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 8:46:33 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface Element {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBContext.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBContext.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBContext.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBContext.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,69 @@
+package javax.xml.bind;
+
+import java.util.Map;
+import java.util.Collections;
+
+import org.w3c.dom.Node;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:26:26 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class JAXBContext {
+
+ public static final String JAXB_CONTEXT_FACTORY = "javax.xml.bind.context.factory";
+
+ protected JAXBContext() {
+ }
+
+ public Binder<Node> createBinder() {
+ throw new UnsupportedOperationException();
+ }
+
+ public <T> Binder<T> createBinder(Class<T> domType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JAXBIntrospector createJAXBIntrospector() {
+ throw new UnsupportedOperationException();
+ }
+
+ public abstract Marshaller createMarshaller();
+
+ public abstract Unmarshaller createUnmarshaller();
+
+ @Deprecated
+ public abstract Validator createValidator();
+
+ public void generateSchema(SchemaOutputResolver resolver) {
+ throw new UnsupportedOperationException();
+ }
+
+ public static JAXBContext newInstance(Class... classesToBeBound) throws JAXBException {
+ return newInstance(classesToBeBound, Collections.<String, Object>emptyMap());
+ }
+
+ public static JAXBContext newInstance(Class[] classesToBeBound, Map<String, ?> properties) throws JAXBException {
+ for (Class cl : classesToBeBound) {
+ if (cl == null) {
+ throw new IllegalArgumentException();
+ }
+ }
+ return ContextFinder.find(classesToBeBound, properties);
+ }
+
+ public static JAXBContext newInstance(String contextPath) throws JAXBException {
+ return newInstance(contextPath, Thread.currentThread().getContextClassLoader());
+ }
+
+ public static JAXBContext newInstance(String contextPath, ClassLoader classLoader) throws JAXBException {
+ return newInstance(contextPath, classLoader, Collections.<String, Object>emptyMap());
+ }
+
+ public static JAXBContext newInstance(String contextPath, ClassLoader classLoader, Map<String, ?> properties) throws JAXBException {
+ return ContextFinder.find(contextPath, classLoader, properties);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBElement.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBElement.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBElement.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBElement.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,84 @@
+package javax.xml.bind;
+
+import java.io.Serializable;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:35:15 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class JAXBElement<T> implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class GlobalScope {
+ }
+
+ protected final QName name;
+ protected final Class<T> declaredType;
+ protected final Class scope;
+ protected T value;
+ protected boolean nil;
+
+ public JAXBElement(QName name, Class<T> declaredType, Class scope, T value) {
+ this.nil = false;
+ if (declaredType == null || name == null) {
+ throw new IllegalArgumentException();
+ }
+ this.declaredType = declaredType;
+ if (scope == null) {
+ scope = GlobalScope.class;
+ }
+ this.scope = scope;
+ this.name = name;
+ setValue(value);
+ }
+
+ public JAXBElement(QName name, Class<T> declaredType, T value) {
+ this(name, declaredType, GlobalScope.class, value);
+ }
+
+ public Class<T> getDeclaredType() {
+ return declaredType;
+ }
+
+ public QName getName() {
+ return name;
+ }
+
+ public void setValue(T value) {
+ this.value = value;
+ }
+
+ public T getValue() {
+ return value;
+ }
+
+ public Class getScope() {
+ return scope;
+ }
+
+ public boolean isNil() {
+ return value == null || nil;
+ }
+
+ public void setNil(boolean nil) {
+ this.nil = nil;
+ }
+
+ public boolean isGlobalScope() {
+ return scope == GlobalScope.class;
+ }
+
+ public boolean isTypeSubstituted() {
+ if (value == null) {
+ return false;
+ } else {
+ return value.getClass() != declaredType;
+ }
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBException.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBException.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBException.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBException.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,57 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:07:57 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class JAXBException extends Exception {
+
+ private static final long serialVersionUID = 0x5dd94775L;
+
+ private String errorCode;
+ private Throwable linkedException;
+
+ public JAXBException(String message) {
+ this(message, null, null);
+ }
+
+ public JAXBException(String message, String errorCode) {
+ this(message, errorCode, null);
+ }
+
+ public JAXBException(String message, String errorCode, Throwable cause) {
+ super(message);
+ this.errorCode = errorCode;
+ this.linkedException = cause;
+ }
+
+ public JAXBException(String message, Throwable cause) {
+ this(message, null, cause);
+ }
+
+ public JAXBException(Throwable cause) {
+ this(null, null, cause);
+ }
+
+ public String getErrorCode() {
+ return errorCode;
+ }
+
+ public Throwable getLinkedException() {
+ return getCause();
+ }
+
+ public synchronized void setLinkedException(Throwable linkedException) {
+ this.linkedException = linkedException;
+ }
+
+ public String toString() {
+ return linkedException != null ?
+ super.toString() + "\n - with linked exception:\n[" + linkedException.toString() + "]" :
+ super.toString();
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBIntrospector.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBIntrospector.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBIntrospector.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/JAXBIntrospector.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,25 @@
+package javax.xml.bind;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:43:40 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class JAXBIntrospector {
+
+ public abstract QName getElementName(Object jaxbElement);
+
+ public static Object getValue(Object jaxbElement) {
+ if (jaxbElement instanceof JAXBElement) {
+ return ((JAXBElement) jaxbElement).getValue();
+ } else {
+ return jaxbElement;
+ }
+ }
+
+ public abstract boolean isElement(Object object);
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/MarshalException.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/MarshalException.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/MarshalException.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/MarshalException.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,31 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:20:29 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class MarshalException extends JAXBException {
+
+ public MarshalException(String message) {
+ super(message);
+ }
+
+ public MarshalException(String message, String errorCode) {
+ super(message, errorCode);
+ }
+
+ public MarshalException(String message, String errorCode, Throwable cause) {
+ super(message, errorCode, cause);
+ }
+
+ public MarshalException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public MarshalException(Throwable cause) {
+ super(cause);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Marshaller.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Marshaller.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Marshaller.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Marshaller.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,81 @@
+package javax.xml.bind;
+
+import java.io.OutputStream;
+import java.io.Writer;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import javax.xml.bind.attachment.AttachmentMarshaller;
+import javax.xml.validation.Schema;
+import javax.xml.transform.Result;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.w3c.dom.Node;
+
+import org.xml.sax.ContentHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:03:51 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface Marshaller {
+
+ String JAXB_ENCODING = "jaxb.encoding";
+ String JAXB_FORMATTED_OUTPUT = "jaxb.formatted.output";
+ String JAXB_FRAGMENT = "jaxb.fragment";
+ String JAXB_NO_NAMESPACE_SCHEMA_LOCATION = "jaxb.noNamespaceSchemaLocation";
+ String JAXB_SCHEMA_LOCATION = "jaxb.schemaLocation";
+
+ abstract class Listener {
+ public void beforeMarshal(Object source) {
+ }
+ public void afterMarshal(Object source) {
+ }
+ }
+
+ <A extends XmlAdapter> A getAdapter(Class<A> type);
+
+ AttachmentMarshaller getAttachmentMarshaller();
+
+ ValidationEventHandler getEventHandler() throws JAXBException;
+
+ Listener getListener();
+
+ Node getNode(Object contentTree) throws JAXBException;
+
+ Object getProperty(String name) throws PropertyException;
+
+ Schema getSchema();
+
+ void marshal(Object jaxbElement, ContentHandler handler) throws JAXBException;
+
+ void marshal(Object jaxbElement, Node node) throws JAXBException;
+
+ void marshal(Object jaxbElement, OutputStream os) throws JAXBException;
+
+ void marshal(Object jaxbElement, Result result);
+
+ void marshal(Object jaxbElement, Writer writer) throws JAXBException;
+
+ void marshal(Object jaxbElement, XMLEventWriter writer) throws JAXBException;
+
+ void marshal(Object jaxbElement, XMLStreamWriter writer) throws JAXBException;
+
+ <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter);
+
+ void setAdapter(XmlAdapter adapter);
+
+ void setAttachmentMarshaller(AttachmentMarshaller am);
+
+ void setEventHandler(ValidationEventHandler handler) throws JAXBException;
+
+ void setListener(Listener listener);
+
+ void setProperty(String name, Object value) throws PropertyException;
+
+ void setSchema(Schema schema);
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/NotIdentifiableEvent.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/NotIdentifiableEvent.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/NotIdentifiableEvent.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/NotIdentifiableEvent.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,11 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:25:46 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface NotIdentifiableEvent extends ValidationEvent {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ParseConversionEvent.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ParseConversionEvent.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ParseConversionEvent.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ParseConversionEvent.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,11 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:26:13 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface ParseConversionEvent extends ValidationEvent {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PrintConversionEvent.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PrintConversionEvent.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PrintConversionEvent.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PrintConversionEvent.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,11 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:26:32 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface PrintConversionEvent extends ValidationEvent {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PropertyException.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PropertyException.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PropertyException.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/PropertyException.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,36 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:16:01 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class PropertyException extends JAXBException {
+
+ public PropertyException(String message) {
+ super(message);
+ }
+
+ public PropertyException(String message, String errorCode) {
+ super(message, errorCode);
+ }
+
+ public PropertyException(Throwable cause) {
+ super(cause);
+ }
+
+ public PropertyException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public PropertyException(String message, String errorCode, Throwable cause) {
+ super(message, errorCode, cause);
+ }
+
+ public PropertyException(String name, Object value) {
+ super("name: " + name + ", value: " + value);
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/SchemaOutputResolver.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/SchemaOutputResolver.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/SchemaOutputResolver.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/SchemaOutputResolver.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,17 @@
+package javax.xml.bind;
+
+import java.io.IOException;
+
+import javax.xml.transform.Result;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:45:25 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class SchemaOutputResolver {
+
+ public abstract Result createOutput(String namespaceUri, String suggestedFileName) throws IOException;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/TypeConstraintException.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/TypeConstraintException.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/TypeConstraintException.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/TypeConstraintException.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,55 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:07:57 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class TypeConstraintException extends RuntimeException {
+
+ private String errorCode;
+ private Throwable linkedException;
+
+ public TypeConstraintException(String message) {
+ this(message, null, null);
+ }
+
+ public TypeConstraintException(String message, String errorCode) {
+ this(message, errorCode, null);
+ }
+
+ public TypeConstraintException(String message, String errorCode, Throwable cause) {
+ super(message);
+ this.errorCode = errorCode;
+ this.linkedException = cause;
+ }
+
+ public TypeConstraintException(String message, Throwable cause) {
+ this(message, null, cause);
+ }
+
+ public TypeConstraintException(Throwable cause) {
+ this(null, null, cause);
+ }
+
+ public String getErrorCode() {
+ return errorCode;
+ }
+
+ public Throwable getLinkedException() {
+ return getCause();
+ }
+
+ public synchronized void setLinkedException(Throwable linkedException) {
+ this.linkedException = linkedException;
+ }
+
+ public String toString() {
+ return linkedException != null ?
+ super.toString() + "\n - with linked exception:\n[" + linkedException.toString() + "]" :
+ super.toString();
+ }
+
+}
\ No newline at end of file
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshalException.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshalException.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshalException.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshalException.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,31 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:22:55 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class UnmarshalException extends JAXBException {
+
+ public UnmarshalException(String message) {
+ super(message);
+ }
+
+ public UnmarshalException(String message, String errorCode) {
+ super(message, errorCode);
+ }
+
+ public UnmarshalException(String message, String errorCode, Throwable cause) {
+ super(message, errorCode, cause);
+ }
+
+ public UnmarshalException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public UnmarshalException(Throwable cause) {
+ super(cause);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Unmarshaller.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Unmarshaller.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Unmarshaller.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Unmarshaller.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,93 @@
+package javax.xml.bind;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.Reader;
+import java.net.URL;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import javax.xml.bind.attachment.AttachmentUnmarshaller;
+import javax.xml.validation.Schema;
+import javax.xml.transform.Source;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLStreamReader;
+
+import org.w3c.dom.Node;
+
+import org.xml.sax.InputSource;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:26:48 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface Unmarshaller {
+
+ abstract class Listener {
+ public void beforeUnmarshal(Object target, Object parent) {
+ }
+ public void afterUnmarshal(Object target, Object parent) {
+ }
+ }
+
+ <A extends XmlAdapter> A getAdapter(Class<A> type);
+
+ AttachmentUnmarshaller getAttachmentUnmarshaller();
+
+ ValidationEventHandler getEventHandler();
+
+ Listener getListener();
+
+ Object getProperty(String name) throws PropertyException;
+
+ Schema getSchema();
+
+ UnmarshallerHandler getUnmarshallerHandler();
+
+ boolean isValidating() throws JAXBException;
+
+ <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter);
+
+ void setAdapter(XmlAdapter adapter);
+
+ void setAttachmentUnmarshaller(AttachmentUnmarshaller au);
+
+ void setEventHandler(ValidationEventHandler handler) throws JAXBException;
+
+ void setListener(Listener listener);
+
+ void setProperty(String name, Object value) throws PropertyException;
+
+ void setSchema(Schema schema);
+
+ void setValidating(boolean validating);
+
+ Object unmarshal(File f) throws JAXBException;
+
+ Object unmarshal(InputSource source) throws JAXBException;
+
+ Object unmarshal(InputStream is) throws JAXBException;
+
+ Object unmarshal(Node node) throws JAXBException;
+
+ <T> JAXBElement<T> unmarshal(Node node, Class<T> declaredType) throws JAXBException;
+
+ Object unmarshal(Reader reader) throws JAXBException;
+
+ Object unmarshal(Source source) throws JAXBException;
+
+ <T> JAXBElement<T> unmarshal(Source source, Class<T> declaredType) throws JAXBException;
+
+ Object unmarshal(URL url) throws JAXBException;
+
+ Object unmarshal(XMLEventReader reader) throws JAXBException;
+
+ <T> JAXBElement<T> unmarshal(XMLEventReader reader, Class<T> declaredType) throws JAXBException;
+
+ Object unmarshal(XMLStreamReader reader) throws JAXBException;
+
+ <T> JAXBElement<T> unmarshal(XMLStreamReader reader, Class<T> declaredType) throws JAXBException;
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshallerHandler.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshallerHandler.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshallerHandler.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/UnmarshallerHandler.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,16 @@
+package javax.xml.bind;
+
+import org.xml.sax.ContentHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:05:04 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface UnmarshallerHandler extends ContentHandler {
+
+ Object getResult();
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEvent.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEvent.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEvent.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEvent.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,24 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 8:52:15 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface ValidationEvent {
+
+ int ERROR = 1;
+ int FATAL_ERROR = 2;
+ int WARNING = 0;
+
+ Throwable getLinkedException();
+
+ ValidationEventLocator getLocator();
+
+ String getMessage();
+
+ int getSeverity();
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventHandler.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventHandler.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventHandler.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventHandler.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,13 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 8:51:47 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface ValidationEventHandler {
+
+ boolean handleEvent(ValidationEvent event);
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventLocator.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventLocator.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventLocator.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationEventLocator.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,27 @@
+package javax.xml.bind;
+
+import java.net.URL;
+
+import org.w3c.dom.Node;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 8:53:24 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface ValidationEventLocator {
+
+ int getColumnNumber();
+
+ int getLineNumber();
+
+ Node getNode();
+
+ Object getObject();
+
+ int getOffset();
+
+ URL getURL();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationException.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationException.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationException.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/ValidationException.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,31 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:23:28 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class ValidationException extends JAXBException {
+
+ public ValidationException(String message) {
+ super(message);
+ }
+
+ public ValidationException(String message, String errorCode) {
+ super(message, errorCode);
+ }
+
+ public ValidationException(String message, String errorCode, Throwable cause) {
+ super(message, errorCode, cause);
+ }
+
+ public ValidationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ValidationException(Throwable cause) {
+ super(cause);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Validator.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Validator.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Validator.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/Validator.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,23 @@
+package javax.xml.bind;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:05:54 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface Validator {
+
+ ValidationEventHandler getEventHandler() throws JAXBException;
+
+ Object getProperty(String name) throws PropertyException;
+
+ void setEventHandler(ValidationEventHandler handler) throws JAXBException;
+
+ void setProperty(String name, Object value) throws PropertyException;
+
+ boolean validate(Object subRoot) throws JAXBException;
+
+ boolean validateRoot(Object rootObj) throws JAXBException;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/DomHandler.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/DomHandler.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/DomHandler.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/DomHandler.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,21 @@
+package javax.xml.bind.annotation;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.bind.ValidationEventHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 8:49:41 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface DomHandler<ElementT, ResultT extends Result> {
+
+ ResultT createUnmarshaler(ValidationEventHandler errorHandler);
+
+ ElementT getElement(ResultT rt);
+
+ Source marshal(ElementT n, ValidationEventHandler errorHandler);
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/W3CDomHandler.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/W3CDomHandler.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/W3CDomHandler.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/W3CDomHandler.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,69 @@
+package javax.xml.bind.annotation;
+
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.Source;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.bind.ValidationEventHandler;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.DocumentFragment;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:47:25 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class W3CDomHandler implements DomHandler<Element, DOMResult> {
+
+ private DocumentBuilder builder;
+
+ public W3CDomHandler() {
+ }
+
+ public W3CDomHandler(DocumentBuilder builder) {
+ if (builder == null) {
+ throw new IllegalArgumentException();
+ }
+ this.builder = builder;
+ }
+
+ public DOMResult createUnmarshaler(ValidationEventHandler errorHandler) {
+ if (builder == null) {
+ return new DOMResult();
+ } else {
+ return new DOMResult(builder.newDocument());
+ }
+ }
+
+ public DocumentBuilder getBuilder() {
+ return builder;
+ }
+
+ public Element getElement(DOMResult rt) {
+ Node n = rt.getNode();
+ if (n instanceof Document) {
+ return ((Document)n).getDocumentElement();
+ }
+ if (n instanceof Element) {
+ return (Element)n;
+ }
+ if (n instanceof DocumentFragment) {
+ return (Element)n.getChildNodes().item(0);
+ } else {
+ throw new IllegalStateException(n.toString());
+ }
+ }
+
+ public Source marshal(Element n, ValidationEventHandler errorHandler) {
+ return new DOMSource(n);
+ }
+
+ public void setBuilder(DocumentBuilder builder) {
+ this.builder = builder;
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessOrder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessOrder.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessOrder.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessOrder.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,15 @@
+package javax.xml.bind.annotation;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:00:58 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public enum XmlAccessOrder {
+
+ ALPHABETICAL,
+ UNDEFINED
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessType.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessType.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessType.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessType.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:01:23 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public enum XmlAccessType {
+
+ FIELD,
+ NONE,
+ PROPERTY,
+ PUBLIC_MEMBER
+
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorOrder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorOrder.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorOrder.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorOrder.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:02:25 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.PACKAGE, ElementType.TYPE})
+public @interface XmlAccessorOrder {
+
+ XmlAccessOrder value() default XmlAccessOrder.UNDEFINED;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorType.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorType.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorType.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAccessorType.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:04:19 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.PACKAGE, ElementType.TYPE })
+public @interface XmlAccessorType {
+
+ XmlAccessType value() default XmlAccessType.PUBLIC_MEMBER;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyAttribute.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyAttribute.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyAttribute.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyAttribute.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:05:07 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD })
+public @interface XmlAnyAttribute {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyElement.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyElement.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyElement.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAnyElement.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:05:30 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD })
+public @interface XmlAnyElement {
+
+ boolean lax() default false;
+
+ Class<? extends DomHandler> value() default W3CDomHandler.class;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttachmentRef.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttachmentRef.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttachmentRef.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttachmentRef.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:06:43 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
+public @interface XmlAttachmentRef {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttribute.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttribute.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttribute.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlAttribute.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,24 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:07:29 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD })
+public @interface XmlAttribute {
+
+ String name() default "##default";
+
+ boolean required() default false;
+
+ String namespace() default "##default";
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElement.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElement.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElement.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElement.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,33 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 10:56:39 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.TYPE, ElementType.METHOD })
+public @interface XmlElement {
+
+ class DEFAULT {
+ }
+
+ String name() default "##default";
+
+ boolean nillable() default false;
+
+ boolean required() default false;
+
+ String namespace() default "##default";
+
+ String defaultValue() default "\u0000";
+
+ Class type() default DEFAULT.class;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementDecl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementDecl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementDecl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementDecl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,35 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:08:28 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface XmlElementDecl {
+
+ class GLOBAL {
+ }
+
+ String name();
+
+ Class scope() default GLOBAL.class;
+
+ String defautValue() default "##default";
+
+ String namespace() default "##default";
+
+ String substitutionHeadNamespace() default "##default";
+
+ String substitutionHeadName() default "";
+
+ String defaultValue() default "\u0000";
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRef.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRef.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRef.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRef.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,28 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:11:11 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlElementRef {
+
+ class DEFAULT {
+ }
+
+ String name() default "##default";
+
+ String namespace() default "";
+
+ Class type() default DEFAULT.class;
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRefs.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRefs.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRefs.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementRefs.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:13:23 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlElementRefs {
+
+ XmlElementRef[] value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementWrapper.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementWrapper.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementWrapper.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElementWrapper.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,24 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:14:54 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlElementWrapper {
+
+ String name() default "##default";
+
+ String namespace() default "##default";
+
+ boolean nillable() default false;
+}