You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2006/11/24 13:15:06 UTC

svn commit: r478855 [6/21] - in /webservices/jaxme/branches/MAVEN/jaxme-xs: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/ws/ src/main/java/org/apache/ws/jaxme/ src/main/java/org/apache/ws/jaxme/...

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBWildcard.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBWildcard.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBWildcard.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBWildcard.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb;
+
+import org.apache.ws.jaxme.xs.XSWildcard;
+
+
+/** <p>JAXB specific extension of XSWildcard.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface JAXBWildcard extends JAXBPropertyOwner, XSWildcard {
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsObjectFactory.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsObjectFactory.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsObjectFactory.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsObjectFactory.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb;
+
+import org.apache.ws.jaxme.xs.xml.XsObject;
+import org.apache.ws.jaxme.xs.xml.XsObjectFactory;
+
+
+
+/** <p>Implementation of the XsObjectFactory for parsing a
+ * JAXB schema.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface JAXBXsObjectFactory extends XsObjectFactory {
+  /** <p>Returns a new instance of JAXBProperty.BaseType.</p>
+   */
+  public JAXBProperty.BaseType newBaseType(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBClass.</p>
+   */
+  public JAXBClass newJAXBClass(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBGlobalBindings.</p>
+   */
+  public JAXBGlobalBindings newJAXBGlobalBindings(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBJavadoc.</p>
+   */
+  public JAXBJavadoc newJAXBJavadoc(XsObject pParent);
+
+  /** <p>Returns a new instance of NameXmlTransform.</p>
+   */
+  public JAXBSchemaBindings.NameXmlTransform newNameXmlTransform(XsObject pParent);
+
+  /** <p>Returns a new instance of NameTransformation.</p>
+   */
+  public JAXBSchemaBindings.NameTransformation newNameTransformation(XsObject pParent);
+
+  /** <p>Returns a new instance of Package.</p>
+   */
+  public JAXBSchemaBindings.Package newPackage(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBProperty.</p>
+   */
+  public JAXBProperty newJAXBProperty(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBJavaType.</p>
+   */
+  public JAXBJavaType newJAXBJavaType(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBGlobalJavaType.</p>
+   */
+  public JAXBJavaType.JAXBGlobalJavaType newJAXBGlobalJavaType(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBSchemaBindings.</p>
+   */
+  public JAXBSchemaBindings newJAXBSchemaBindings(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBTypesafeEnumClass.</p>
+   */
+  public JAXBTypesafeEnumClass newJAXBTypesafeEnumClass(XsObject pParent);
+
+  /** <p>Returns a new instance of JAXBTypesafeEnumMember.</p>
+   */
+  public JAXBTypesafeEnumMember newJAXBTypesafeEnumMember(XsObject pParent);
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsSchema.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsSchema.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsSchema.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/JAXBXsSchema.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb;
+
+import org.apache.ws.jaxme.xs.xml.XsESchema;
+
+
+/** <p>Syntactical representation of a JAXB schema. Most probably
+ * you aren't interested in the logical representation,
+ * {@link org.apache.ws.jaxme.xs.jaxb.JAXBSchema}, and not in this
+ * interface.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface JAXBXsSchema extends XsESchema {
+  /** <p>Returns the <code>jaxb:version</code> attribute.</p>
+   */
+  public String getJaxbVersion();
+
+  /** <p>Returns the list of <code>extension binding prefixes</code>.</p>
+   */
+  public String[] getJaxbExtensionBindingPrefixes();
+
+  public JAXBSchemaBindings getJAXBSchemaBindings();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAppinfoImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAppinfoImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAppinfoImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAppinfoImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.jaxb.*;
+import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.xml.XsEAnnotation;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+import org.apache.ws.jaxme.xs.xml.XsTSimpleType;
+import org.apache.ws.jaxme.xs.xml.impl.XsEAppinfoImpl;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBAppinfoImpl extends XsEAppinfoImpl {
+  /** <p>Creates a new instance of JAXBAppinfo.</p>
+   */
+  public JAXBAppinfoImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  protected JAXBXsObjectFactory getJAXBXsObjectFactory() { return (JAXBXsObjectFactory) getObjectFactory(); }
+
+  /** <p>Creates a new instance of {@link JAXBClass}.</p>
+   */
+  public JAXBClass createClass() {
+    JAXBClass jaxbClass = getJAXBXsObjectFactory().newJAXBClass(this);
+    addChild(jaxbClass);
+    return jaxbClass;
+  }
+
+  /** <p>Creates a new instance of {@link JAXBGlobalBindings}.</p>
+   */
+  public JAXBGlobalBindings createGlobalBindings() {
+    JAXBGlobalBindings jaxbGlobalBindings = getJAXBXsObjectFactory().newJAXBGlobalBindings(this);
+    addChild(jaxbGlobalBindings);
+    return jaxbGlobalBindings;
+  }
+
+  /** <p>Creates a new instance of {@link JAXBJavadoc}.</p>
+   */
+  public JAXBJavadoc createJavadoc() {
+    JAXBJavadoc jaxbJavadoc = getJAXBXsObjectFactory().newJAXBJavadoc(this);
+    addChild(jaxbJavadoc);
+    return jaxbJavadoc;
+  }
+
+  /** <p>Creates a new instance of {@link JAXBJavaType}.</p>
+   */
+  public JAXBJavaType createJavaType() {
+    JAXBJavaType jaxbJavaType = getJAXBXsObjectFactory().newJAXBJavaType(this);
+    addChild(jaxbJavaType);
+    return jaxbJavaType;
+  }
+
+  /** <p>Creates a new instance of {@link JAXBProperty}.</p>
+   */
+  public JAXBProperty createProperty() {
+    JAXBProperty jaxbProperty = getJAXBXsObjectFactory().newJAXBProperty(this);
+    addChild(jaxbProperty);
+    return jaxbProperty;
+  }
+
+  /** <p>Creates a new instance of {@link JAXBSchemaBindings}.</p>
+   */
+  public JAXBSchemaBindings createSchemaBindings() {
+    JAXBSchemaBindings jaxbSchemaBindings = getJAXBXsObjectFactory().newJAXBSchemaBindings(this);
+    addChild(jaxbSchemaBindings);
+    return jaxbSchemaBindings;
+  }
+
+  /** <p>Creates a new instance of {@link JAXBTypesafeEnumClass}.</p>
+   */
+  public JAXBTypesafeEnumClass createTypesafeEnumClass() throws SAXException {
+    XsObject annotationParent = getParentObject();
+    if (annotationParent instanceof XsEAnnotation) {
+      XsObject simpleTypeParent = annotationParent.getParentObject();
+      if (simpleTypeParent instanceof XsTSimpleType) {
+        JAXBTypesafeEnumClass jaxbTypesafeEnumClass = getJAXBXsObjectFactory().newJAXBTypesafeEnumClass(this);
+        addChild(jaxbTypesafeEnumClass);
+        return jaxbTypesafeEnumClass;
+      }
+    }
+    throw new LocSAXException("The declaration of a typesafeEnumClass is only allowed in xs:simpleType/xs:annotation/xs:appinfo.", getLocator());
+  }
+
+  /** <p>Creates a new instance of {@link JAXBTypesafeEnumMember}.</p>
+   */
+  public JAXBTypesafeEnumMember createTypesafeEnumMember() {
+    JAXBTypesafeEnumMember jaxbTypesafeEnumMember = getJAXBXsObjectFactory().newJAXBTypesafeEnumMember(this);
+    addChild(jaxbTypesafeEnumMember);
+    return jaxbTypesafeEnumMember;
+  }
+
+  public ContentHandler getChildHandler(String pQName, String pNamespaceURI, String pLocalName) throws SAXException {
+    if (JAXBParser.JAXB_SCHEMA_URI.equals(pNamespaceURI)) {
+      return null;
+    } else {
+      return super.getChildHandler(pQName, pNamespaceURI, pLocalName);
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAttributeImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAttributeImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAttributeImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBAttributeImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.impl.XSAttributeImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBAttribute;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsSchema;
+import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.xml.XsTAttribute;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBAttributeImpl extends XSAttributeImpl implements JAXBAttribute {
+  private JAXBProperty jaxbProperty;
+
+  /** <p>Creates a new instance of JAXBAttributeImpl.</p>
+   */
+  protected JAXBAttributeImpl(XSObject pParent, XsTAttribute pBaseAttribute)
+      throws SAXException {
+    super(pParent, pBaseAttribute);
+  }
+
+  public JAXBSchemaBindings getJAXBSchemaBindings() {
+    return ((JAXBXsSchema) getXsObject().getXsESchema()).getJAXBSchemaBindings();
+  }
+
+  public JAXBProperty getJAXBProperty() { return jaxbProperty; }
+
+  public void validate() throws SAXException {
+    if (isValidated()) {
+      return;
+    } else {
+      super.validate();
+      jaxbProperty = (JAXBProperty) XSUtil.getSingleAppinfo(getAnnotations(), JAXBProperty.class);
+    }
+
+    if (jaxbProperty == null) {
+      XsTAttribute attr = (XsTAttribute) getXsObject();
+      if (attr.getRef() != null) {
+        JAXBAttribute refAttr = (JAXBAttribute) getXSSchema().getAttribute(attr.getRef());
+        if (refAttr != null) {
+          jaxbProperty = refAttr.getJAXBProperty();
+        }
+      }
+    } else {
+      if (isGlobal()  &&  jaxbProperty != null  &&  jaxbProperty.getBaseType() != null) {
+        throw new LocSAXException("The element jaxb:property/jaxb:baseType is forbidden in global attributes." +
+                                   " You may set it in the reference using the attribute locally. [JAXB 6.8.1.2.1]",
+                                   jaxbProperty.getLocator());
+      }
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBClassImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBClassImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBClassImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBClassImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBClass;
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavadoc;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ * @version $Id: JAXBClassImpl.java 231785 2004-02-16 23:39:59Z jochen $
+ */
+public class JAXBClassImpl extends JAXBXsObjectImpl implements JAXBClass {
+  /** <p>Creates a new instance of ClassImpl.</p>
+   */
+  protected JAXBClassImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  private String name;
+  private String implClass;
+  private JAXBJavadoc javadoc;
+
+  /** <p>Sets the interfaces class name, not including the package name.
+   * The package name is set in the schema bindings or
+   * derived from the target namespace.</p>
+   */
+  public void setName(String pName) {
+    name = pName;
+  }
+
+  /** <p>Returns the interfaces class name, not including the package name.
+   * The package name is set in the schema bindings or
+   * derived from the target namespace.</p>
+   */
+  public String getName() {
+    return name;
+  }
+
+  /** <p>Sets the implementation classes name, including the package
+   * name.</p>
+   */
+  public void setImplClass(String pImplClass) {
+    implClass = pImplClass;
+  }
+
+  /** <p>Returns the implementation classes name, including the package
+   * name.</p>
+   */
+  public String getImplClass() {
+    return implClass;
+  }
+
+  /** <p>Sets the classes Javadoc documentation.</p>
+   */
+  public JAXBJavadoc createJavadoc() {
+    if (javadoc == null) {
+      javadoc = getJAXBXsObjectFactory().newJAXBJavadoc(this);
+      return javadoc;
+    } else {
+      throw new IllegalStateException("Multiple Javadoc elements are not supported.");
+    }
+  }
+
+  /** <p>Returns the classes Javadoc documentation.</p>
+   */
+  public JAXBJavadoc getJavadoc() {
+    return javadoc;
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBElementImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBElementImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBElementImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.impl.XSElementImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBClass;
+import org.apache.ws.jaxme.xs.jaxb.JAXBElement;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.xml.XsTElement;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBElementImpl extends XSElementImpl implements JAXBElement {
+  private JAXBClass jaxbClass;
+  private JAXBProperty jaxbProperty;
+
+  /** <p>Creates a new instance of JAXBElementImpl.</p>
+   */
+  protected JAXBElementImpl(XSObject pParent, XsTElement pBaseElement)
+      throws SAXException {
+    super(pParent, pBaseElement);
+  }
+
+  public JAXBSchemaBindings getJAXBSchemaBindings() {
+    return ((JAXBXsSchemaImpl) getXsObject().getXsESchema()).getJAXBSchemaBindings();
+  }
+
+
+  public JAXBClass getJAXBClass() { return jaxbClass; }
+  public JAXBProperty getJAXBProperty() { return jaxbProperty; }
+
+  public void validate() throws SAXException {
+    if (isValidated()) {
+      return;
+    }
+    super.validate();
+    jaxbClass = (JAXBClass) XSUtil.getSingleAppinfo(getAnnotations(), JAXBClass.class);
+    jaxbProperty = (JAXBProperty) XSUtil.getSingleAppinfo(getAnnotations(), JAXBProperty.class);
+
+    if (jaxbProperty == null) {
+      XsTElement elem = (XsTElement) getXsObject();
+      if (elem.getRef() != null) {
+        JAXBElement refElem = (JAXBElement) getXSSchema().getElement(elem.getRef());
+        if (refElem != null) {
+          jaxbProperty = refElem.getJAXBProperty();
+        }
+      }
+    } else {
+      if (isGlobal()) {
+        if (jaxbProperty != null  &&  jaxbProperty.getBaseType() != null) {
+          throw new LocSAXException("The element jaxb:property/jaxb:baseType is forbidden in global elements." +
+                                     " You may set it in the reference using the element locally. [JAXB 6.8.1.2.1]",
+                                     jaxbProperty.getLocator());
+        }
+      }
+    }
+
+    if (jaxbClass != null  &&  jaxbClass.getImplClass() != null) {
+      if (isGlobal()) {
+        if (jaxbClass != null  &&  jaxbClass.getImplClass() != null) {
+          throw new LocSAXException("The implClass attribute is invalid for global elements. [JAXB 6.7.3.4]",
+                                     jaxbClass.getLocator());
+        }
+      } else {
+        if (jaxbClass != null  &&  jaxbClass.getImplClass() != null) {
+          throw new LocSAXException("The implClass attribute is invalid for local elements. [JAXB 6.7.3.5]",
+                                     jaxbClass.getLocator());
+        }
+      }
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBEnumerationImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBEnumerationImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBEnumerationImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBEnumerationImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.impl.XSEnumerationImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBEnumeration;
+import org.apache.ws.jaxme.xs.jaxb.JAXBTypesafeEnumMember;
+import org.apache.ws.jaxme.xs.xml.XsEEnumeration;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBEnumerationImpl extends XSEnumerationImpl implements JAXBEnumeration {
+  private final JAXBTypesafeEnumMember member;
+
+  /** <p>Creates a new instance of JAXBEnumerationImpl.</p>
+   */
+  public JAXBEnumerationImpl(XSObject pParent, XsEEnumeration pBaseEnumeration) throws SAXException {
+    super(pParent, pBaseEnumeration);
+    member = (JAXBTypesafeEnumMember) XSUtil.getSingleAppinfo(getAnnotations(), JAXBTypesafeEnumMember.class);
+  }
+
+  public JAXBTypesafeEnumMember getJAXBTypesafeEnumMember() { return member; }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGlobalBindingsImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGlobalBindingsImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGlobalBindingsImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGlobalBindingsImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,278 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import javax.xml.XMLConstants;
+
+import org.apache.ws.jaxme.xs.XSParser;
+import org.apache.ws.jaxme.xs.impl.XSLogicalParser;
+import org.apache.ws.jaxme.xs.jaxb.JAXBGlobalBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsObjectFactory;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsSchema;
+import org.apache.ws.jaxme.xs.parser.XsObjectCreator;
+import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.types.XSBase64Binary;
+import org.apache.ws.jaxme.xs.types.XSDate;
+import org.apache.ws.jaxme.xs.types.XSDateTime;
+import org.apache.ws.jaxme.xs.types.XSDuration;
+import org.apache.ws.jaxme.xs.types.XSGDay;
+import org.apache.ws.jaxme.xs.types.XSGMonth;
+import org.apache.ws.jaxme.xs.types.XSGMonthDay;
+import org.apache.ws.jaxme.xs.types.XSGYear;
+import org.apache.ws.jaxme.xs.types.XSGYearMonth;
+import org.apache.ws.jaxme.xs.types.XSHexBinary;
+import org.apache.ws.jaxme.xs.types.XSNCName;
+import org.apache.ws.jaxme.xs.types.XSQName;
+import org.apache.ws.jaxme.xs.types.XSTime;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+import org.apache.ws.jaxme.xs.xml.XsQName;
+import org.apache.ws.jaxme.xs.xml.impl.XsObjectImpl;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBGlobalBindingsImpl extends XsObjectImpl implements JAXBGlobalBindings {
+  private static final XsQName[] forbiddenEnumQNames =
+    new XsQName[]{
+      XSQName.getInstance().getName(),
+      XSBase64Binary.getInstance().getName(),
+      XSHexBinary.getInstance().getName(),
+      XSDate.getInstance().getName(),
+      XSDateTime.getInstance().getName(),
+      XSTime.getInstance().getName(),
+      XSDuration.getInstance().getName(),
+      XSGDay.getInstance().getName(),
+      XSGMonth.getInstance().getName(),
+      XSGYear.getInstance().getName(),
+      XSGMonthDay.getInstance().getName(),
+      XSGYearMonth.getInstance().getName()
+    };
+
+  private String collectionType;
+  private boolean fixedAttributeAsConstantProperty, generateIsSetMethod,
+    enableFailFastCheck, choiceContentProperty,
+    javaNamingConventionsDisabled, typesafeEnumMemberNameGeneratesName,
+    isBindingStyleModelGroup;
+  private List javaTypes;
+  private JAXBGlobalBindings.UnderscoreBinding underscoreBinding =
+    JAXBGlobalBindings.UnderscoreBinding.AS_WORD_SEPARATOR;
+  private XsQName[] typesafeEnumBase = new XsQName[]{XSNCName.getInstance().getName()};
+
+  /** <p>Creates a new instance of JAXBGlobalBindingsImpl.</p>
+   */
+  protected JAXBGlobalBindingsImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  public void setCollectionType(String pType) {
+    collectionType = pType;
+  }
+
+  public String getCollectionType() {
+    return collectionType;
+  }
+
+  public void setFixedAttributeAsConstantProperty(boolean pFixedAttributeAsConstantProperty) {
+    fixedAttributeAsConstantProperty = pFixedAttributeAsConstantProperty;
+  }
+
+  public boolean isFixedAttributeAsConstantProperty() {
+    return fixedAttributeAsConstantProperty;
+  }
+
+  public void setGenerateIsSetMethod(boolean pGenerateIsSetMethod) {
+    generateIsSetMethod = pGenerateIsSetMethod;
+  }
+
+  public boolean isGenerateIsSetMethod() {
+    return generateIsSetMethod;
+  }
+
+  public void setEnableFailFastCheck(boolean pEnableFailFastCheck) {
+    enableFailFastCheck = pEnableFailFastCheck;
+  }
+
+  public boolean isEnableFailFastCheck() {
+    return enableFailFastCheck;
+  }
+
+  public void setChoiceContentProperty(boolean pChoiceContentProperty) {
+    choiceContentProperty = pChoiceContentProperty;
+  }
+
+  public boolean isChoiceContentProperty() {
+    return choiceContentProperty;
+  }
+
+  public void setUnderscoreBinding(JAXBGlobalBindings.UnderscoreBinding pUnderscoreBinding) {
+    underscoreBinding = pUnderscoreBinding;
+  }
+
+  public JAXBGlobalBindings.UnderscoreBinding getUnderscoreBinding() {
+    return underscoreBinding;
+  }
+
+  public void setEnableJavaNamingConventions(boolean pEnableJavaNamingConventions) {
+    javaNamingConventionsDisabled = !pEnableJavaNamingConventions;
+  }
+
+  public boolean isEnableJavaNamingConventions() {
+    return !javaNamingConventionsDisabled;
+  }
+
+  public void setTypesafeEnumBase(XsQName[] pTypes) {
+    typesafeEnumBase = pTypes;
+  }
+
+  public void setTypesafeEnumBase(String pTypesafeEnumBase) throws SAXException {
+    List list = new ArrayList();
+    String[] parts = new String[3];
+    for (StringTokenizer st = new StringTokenizer(pTypesafeEnumBase, " ,");
+         st.hasMoreTokens();  ) {
+      String token = st.nextToken();
+      getNamespaceSupport().processName(token, parts, false);
+      XsQName qName = new XsQName(parts[0], parts[1], XsQName.prefixOf(token));
+      for (int i = 0;  i < forbiddenEnumQNames.length;  i++) {
+        if (forbiddenEnumQNames[i].equals(qName)) {
+          throw new LocSAXException("The type " + qName +
+                                     " must not be specified in the typesafeEnumBase (JAXB 6.5.1)",
+                                     getLocator());
+        }
+      }
+      list.add(qName);
+    }
+    setTypesafeEnumBase((XsQName[]) list.toArray(new XsQName[list.size()]));
+  }
+
+  public XsQName[] getTypesafeEnumBase() {
+    return typesafeEnumBase;
+  }
+
+  public void setTypesafeEnumMemberName(boolean pTypesafeEnumMemberName) {
+    typesafeEnumMemberNameGeneratesName = pTypesafeEnumMemberName;
+  }
+
+  public boolean isTypesafeEnumMemberName() {
+    return typesafeEnumMemberNameGeneratesName;
+  }
+
+  public void setBindingStyle(String pBindingStyle) throws SAXException {
+    if ("elementBinding".equals(pBindingStyle)) {
+      isBindingStyleModelGroup = false;
+    } else if ("modelGroupBinding".equals(pBindingStyle)) {
+      isBindingStyleModelGroup = true;
+    } else {
+      throw new LocSAXException("Illegal value for 'bindingStyle': " + pBindingStyle + ", expected either of 'elementBinding' or 'modelGroupBinding'.",
+                                 getLocator());
+    }
+  }
+
+  public boolean isBindingStyleModelGroup() {
+    return isBindingStyleModelGroup;
+  }
+
+  public JAXBJavaType createJavaType() {
+    JAXBJavaType.JAXBGlobalJavaType javaTypeImpl = ((JAXBXsObjectFactory) getObjectFactory()).newJAXBGlobalJavaType(this);
+    if (javaTypes == null) {
+    	javaTypes = new ArrayList();
+    }
+    javaTypes.add(javaTypeImpl);
+    return javaTypeImpl;
+  }
+
+  private static final JAXBJavaType.JAXBGlobalJavaType[] DEFAULT_JAXB_JAVA_TYPES =
+      new JAXBJavaType.JAXBGlobalJavaType[0];
+  public JAXBJavaType.JAXBGlobalJavaType[] getJavaType() {
+    if (javaTypes == null) {
+      return DEFAULT_JAXB_JAVA_TYPES;
+    } else {
+      return (JAXBJavaType.JAXBGlobalJavaType[]) javaTypes.toArray(new JAXBJavaType.JAXBGlobalJavaType[javaTypes.size()]);
+    }
+  }
+
+  protected XsObjectCreator[] getXsObjectCreators() {
+      return null;
+  }
+
+  protected boolean isPrefixEnabled(String pPrefix) {
+      // The list of extension prefixes is in the outermost schema.
+      String[] prefixes;
+      XSLogicalParser xsParser = getContext().getXSLogicalParser();
+      if (xsParser == null) {
+          // Just syntax parsing, take this schema as outermost instance.
+          JAXBXsSchema jaxbXsSchema = (JAXBXsSchema) getXsESchema();
+          prefixes = jaxbXsSchema.getJaxbExtensionBindingPrefixes();
+      } else {
+          prefixes = ((JAXBXsSchema) xsParser.getSyntaxSchemas()[0]).getJaxbExtensionBindingPrefixes();
+      }
+
+      for (int i = 0;  i < prefixes.length;  i++) {
+          if (prefixes[i].equals(pPrefix)) {
+              return true;
+          }
+      }
+      return false;
+  }
+
+  protected XsObject getBeanByParent(XsObject pParent, Locator pLocator, XsQName pQName) throws SAXException {
+      XsObjectCreator[] creators = getXsObjectCreators();
+      if (creators != null) {
+          for (int i = 0;  i < creators.length;  i++) {
+              XsObject result = creators[i].newBean(pParent, pLocator, pQName);
+              if (result != null) {
+                  return result;
+              }
+          }
+      }
+      return null;
+  }
+
+  public ContentHandler getChildHandler(String pQName, String pNamespaceURI,
+                                        String pLocalName) throws SAXException {
+    if (JAXBParser.JAXB_SCHEMA_URI.equals(pNamespaceURI)  ||
+        XSParser.XML_SCHEMA_URI.equals(pNamespaceURI)  ||
+        XMLConstants.XML_NS_URI.equals(pNamespaceURI)) {
+      return null;
+    }
+
+    int offset = pQName.indexOf(':');
+    if (offset > 0) {
+      String prefix = pQName.substring(0, offset);
+      if (isPrefixEnabled(prefix)) {
+          XsQName qName = new XsQName(pNamespaceURI, pLocalName, XsQName.prefixOf(pQName));
+          XsObject result = getBeanByParent(this, getObjectFactory().getLocator(), qName);
+          if (result != null) {
+              return getObjectFactory().newXsSAXParser(result);
+          } else {
+              return new DefaultHandler();
+          }
+      }
+    }
+    throw new LocSAXException("Unknown child element " + pQName + ", use the schemas jaxb:extensionBindingPrefixes attribute to ignore it.",
+                               getLocator());
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGroupImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGroupImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGroupImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBGroupImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,96 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.impl.XSGroupImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBClass;
+import org.apache.ws.jaxme.xs.jaxb.JAXBGroup;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsSchema;
+import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.xml.XsEChoice;
+import org.apache.ws.jaxme.xs.xml.XsESequence;
+import org.apache.ws.jaxme.xs.xml.XsTAll;
+import org.apache.ws.jaxme.xs.xml.XsTGroupRef;
+import org.apache.ws.jaxme.xs.xml.XsTNamedGroup;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBGroupImpl extends XSGroupImpl implements JAXBGroup {
+  private JAXBClass jaxbClass;
+
+  /** <p>Creates a new instance of JAXBGroupImpl.</p>
+   */
+  protected JAXBGroupImpl(XSObject pParent, XsTGroupRef pBaseGroup)
+      throws SAXException {
+    super(pParent, pBaseGroup);
+  }
+
+  /** <p>Creates a new instance of JAXBGroupImpl.</p>
+   */
+  protected JAXBGroupImpl(XSObject pParent, XsTNamedGroup pBaseGroup)
+      throws SAXException {
+    super(pParent, pBaseGroup);
+  }
+
+  /** <p>Creates a new instance of JAXBGroupImpl.</p>
+   */
+  protected JAXBGroupImpl(XSObject pParent, XsEChoice pChoice)
+      throws SAXException {
+    super(pParent, pChoice);
+  }
+
+  /** <p>Creates a new instance of JAXBGroupImpl.</p>
+   */
+  protected JAXBGroupImpl(XSObject pParent, XsESequence pSequence)
+      throws SAXException {
+    super(pParent, pSequence);
+  }
+
+  /** <p>Creates a new instance of JAXBGroupImpl.</p>
+   */
+  public JAXBGroupImpl(XSObject pParent, XsTAll pAll)
+      throws SAXException {
+    super(pParent, pAll);
+  }
+
+  public JAXBSchemaBindings getJAXBSchemaBindings() {
+    return ((JAXBXsSchema) getXsObject().getXsESchema()).getJAXBSchemaBindings();
+  }
+
+  public JAXBClass getJAXBClass() {
+    return jaxbClass;
+  }
+
+  public void validate() throws SAXException {
+    if (isValidated()) {
+      return;
+    }
+    super.validate();
+    jaxbClass = (JAXBClass) XSUtil.getSingleAppinfo(getAnnotations(), JAXBClass.class);
+
+    if (!isGlobal()  &&  jaxbClass != null  &&  jaxbClass.getImplClass() != null) {
+      throw new LocSAXException("The implClass attribute is valid for global groups only.",
+                                 jaxbClass.getLocator());
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavaTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavaTypeImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavaTypeImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavaTypeImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+import org.apache.ws.jaxme.xs.xml.XsQName;
+import org.apache.ws.jaxme.xs.xml.impl.XsObjectImpl;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ * @version $Id: JAXBJavaTypeImpl.java 231996 2004-09-30 00:09:30Z jochen $
+ */
+public class JAXBJavaTypeImpl extends XsObjectImpl implements JAXBJavaType {
+  public static class JAXBGlobalJavaTypeImpl extends JAXBJavaTypeImpl implements JAXBJavaType.JAXBGlobalJavaType {
+    /** <p>Creates a new instance of JAXBJavaTypeImpl.java.</p>
+     */
+    protected JAXBGlobalJavaTypeImpl(XsObject pParent) {
+      super(pParent);
+    }
+
+    private XsQName xmlType;
+    public void setXmlType(XsQName pType) { xmlType = pType; }
+    public void setXmlType(String pType) throws SAXException {
+      String[] parts = new String[3];
+      getNamespaceSupport().processName(pType, parts, false);
+      setXmlType(new XsQName(parts[0], parts[1], XsQName.prefixOf(pType)));
+    }
+    public XsQName getXmlType() { return xmlType; }
+    public void validate() throws SAXException {
+      super.validate();
+      if (getXmlType() == null) {
+        throw new LocSAXException("Missing attribute: 'xmlType'", getLocator());
+      }
+    }
+  }
+
+  private String name;
+  private boolean hasNsContext;
+  private String parseMethod, printMethod;
+  private XsQName xmlType;
+
+  /** <p>Creates a new instance of JAXBJavaTypeImpl.java.</p>
+   */
+  protected JAXBJavaTypeImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  public void setName(String pName) { name = pName; }
+  public String getName() { return name; }
+
+  public void setHasNsContext(boolean pHasNsContext) {
+    hasNsContext = pHasNsContext;
+  }
+
+  public boolean hasNsContext() {
+    return hasNsContext;
+  }
+
+  public void setParseMethod(String pParseMethod) {
+    parseMethod = pParseMethod;
+  }
+
+  public String getParseMethod() {
+    return parseMethod;
+  }
+
+  public void setPrintMethod(String pPrintMethod) {
+    printMethod = pPrintMethod;
+  }
+
+  public String getPrintMethod() {
+    return printMethod;
+  }
+
+  /** Sets the XML Type being customized by this element.
+   */
+  public void setXmlType(String pXmlType) throws SAXException {
+  	setXmlType(asXsQName(pXmlType));
+  }
+
+  /** Sets the XML Type being customized by this element.
+   */
+  public void setXmlType(XsQName pXmlType) {
+  	xmlType = pXmlType;
+  }
+
+  public XsQName getXmlType() {
+  	return xmlType;
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavadocImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavadocImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavadocImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBJavadocImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavadoc;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+import org.apache.ws.jaxme.xs.xml.impl.XsObjectImpl;
+
+
+/** <p>Implementation of the Javadoc interface.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ * @version $Id: JAXBJavadocImpl.java 231785 2004-02-16 23:39:59Z jochen $
+ */
+public class JAXBJavadocImpl extends XsObjectImpl implements JAXBJavadoc {
+  /** <p>Creates a new instance of JAXBJavadocImpl.</p>
+   */
+  protected JAXBJavadocImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  private String text;
+
+  public void addText(String pText) {
+    text = pText;
+  }
+
+  public String getText() {
+    return text;
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBObjectFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBObjectFactoryImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBObjectFactoryImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBObjectFactoryImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSAttribute;
+import org.apache.ws.jaxme.xs.XSElement;
+import org.apache.ws.jaxme.xs.XSEnumeration;
+import org.apache.ws.jaxme.xs.XSGroup;
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.XSSchema;
+import org.apache.ws.jaxme.xs.XSSimpleType;
+import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.impl.XSObjectFactoryImpl;
+import org.apache.ws.jaxme.xs.parser.XSContext;
+import org.apache.ws.jaxme.xs.xml.XsEChoice;
+import org.apache.ws.jaxme.xs.xml.XsEEnumeration;
+import org.apache.ws.jaxme.xs.xml.XsEList;
+import org.apache.ws.jaxme.xs.xml.XsERestriction;
+import org.apache.ws.jaxme.xs.xml.XsESchema;
+import org.apache.ws.jaxme.xs.xml.XsESequence;
+import org.apache.ws.jaxme.xs.xml.XsETopLevelSimpleType;
+import org.apache.ws.jaxme.xs.xml.XsEUnion;
+import org.apache.ws.jaxme.xs.xml.XsTAll;
+import org.apache.ws.jaxme.xs.xml.XsTAttribute;
+import org.apache.ws.jaxme.xs.xml.XsTComplexType;
+import org.apache.ws.jaxme.xs.xml.XsTElement;
+import org.apache.ws.jaxme.xs.xml.XsTGroupRef;
+import org.apache.ws.jaxme.xs.xml.XsTLocalComplexType;
+import org.apache.ws.jaxme.xs.xml.XsTLocalSimpleType;
+import org.apache.ws.jaxme.xs.xml.XsTNamedGroup;
+import org.apache.ws.jaxme.xs.xml.XsTSimpleRestrictionType;
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBObjectFactoryImpl extends XSObjectFactoryImpl {
+  public XSSimpleType newXSAtomicType(XSType pResultType, XSType pRestrictedType, XsERestriction pRestriction) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSAtomicType(pResultType, pRestrictedType, pRestriction));
+  }
+
+  public XSSimpleType newXSAtomicType(XSType pResultType, XSType pRestrictedType, XsTSimpleRestrictionType pRestriction) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSAtomicType(pResultType, pRestrictedType, pRestriction));
+  }
+
+  public XSAttribute newXSAttribute(XSObject pParent, XsTAttribute pAttribute) throws SAXException {
+    return new JAXBAttributeImpl(pParent, pAttribute);
+  }
+
+  public XSEnumeration newXSEnumeration(XSObject pParent, XsEEnumeration pEnumeration) throws SAXException {
+    return new JAXBEnumerationImpl(pParent, pEnumeration);
+  }
+
+  public XSSchema newXSSchema(XSContext pContext, XsESchema pSchema) throws SAXException {
+    return new JAXBSchemaImpl(pContext, pSchema);
+  }
+
+  public XSGroup newXSGroup(XSObject pParent, XsTAll pAll) throws SAXException {
+    return new JAXBGroupImpl(pParent, pAll);
+  }
+
+  public XSGroup newXSGroup(XSObject pParent, XsEChoice pChoice) throws SAXException {
+    return new JAXBGroupImpl(pParent, pChoice);
+  }
+
+  public XSGroup newXSGroup(XSObject pParent, XsESequence pSequence) throws SAXException {
+    return new JAXBGroupImpl(pParent, pSequence);
+  }
+
+  public XSGroup newXSGroup(XSObject pParent, XsTGroupRef pGroupRef) throws SAXException {
+    return new JAXBGroupImpl(pParent, pGroupRef);
+  }
+
+  public XSGroup newXSGroup(XSObject pParent, XsTNamedGroup pNamedGroup) throws SAXException {
+    return new JAXBGroupImpl(pParent, pNamedGroup);
+  }
+
+  public XSSimpleType newXSListType(XSType pResultType, XsEList pList) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSListType(pResultType, pList));
+  }
+
+  public XSSimpleType newXSListType(XSType pResultType, XSType pRestrictedType, XsERestriction pRestriction) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSListType(pResultType, pRestrictedType, pRestriction));
+  }
+
+  public XSSimpleType newXSListType(XSType pResultType, XSType pRestrictedType, XsTSimpleRestrictionType pRestriction) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSListType(pResultType, pRestrictedType, pRestriction));
+  }
+
+  public XSType newXSType(XSObject pParent, XsETopLevelSimpleType pType) throws SAXException {
+    return new JAXBTypeImpl(pParent, pType);
+  }
+
+  public XSType newXSType(XSObject pParent, XsTComplexType pType) throws SAXException {
+    return new JAXBTypeImpl(pParent, pType);
+  }
+
+  public XSType newXSType(XSObject pParent, XsTLocalComplexType pType) throws SAXException {
+    return new JAXBTypeImpl(pParent, pType);
+  }
+
+  public XSType newXSType(XSObject pParent, XsTLocalSimpleType pType) throws SAXException {
+    return new JAXBTypeImpl(pParent, pType);
+  }
+
+  public XSType newXSType(XSObject pParent, XsTSimpleRestrictionType pType) throws SAXException {
+    return new JAXBTypeImpl(pParent, pType);
+  }
+
+  public XSElement newXSElement(XSObject pParent, XsTElement pElement) throws SAXException {
+    return new JAXBElementImpl(pParent, pElement);
+  }
+
+  public XSSimpleType newXSUnionType(XSType pResultType, XsEUnion pUnion) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSUnionType(pResultType, pUnion));
+  }
+
+  public XSSimpleType newXSUnionType(XSType pResultType, XSType pRestrictedType, XsERestriction pRestriction) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSUnionType(pResultType, pRestrictedType, pRestriction));
+  }
+
+  public XSSimpleType newXSUnionType(XSType pResultType, XSType pRestrictedType, XsTSimpleRestrictionType pRestriction) throws SAXException {
+    return new JAXBSimpleTypeImpl(pResultType, super.newXSUnionType(pResultType, pRestrictedType, pRestriction));
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBParser.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBParser.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBParser.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBParser.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObjectFactory;
+import org.apache.ws.jaxme.xs.XSParser;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsObjectFactory;
+import org.apache.ws.jaxme.xs.parser.XSContext;
+
+
+/** <p>Subclass of XSParser for parsing a JAXB schema.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBParser extends XSParser {
+  public static final XSObjectFactory JAXB_OBJECT_FACTORY = new JAXBObjectFactoryImpl();
+  public static final JAXBXsObjectFactory JAXB_XS_OBJECT_FACTORY = new JAXBXsObjectFactoryImpl();
+
+  /** <p>The JAXB Schema URI: <code>http://java.sun.com/xml/ns/jaxb</code></p>
+   */
+  public static final String JAXB_SCHEMA_URI = "http://java.sun.com/xml/ns/jaxb";
+
+  /** <p>The XJC Schema URI: <code>http://java.sun.com/xml/ns/jaxb/xjc</code></p>
+   */
+  public static final String XJC_SCHEMA_URI = "http://java.sun.com/xml/ns/jaxb/xjc";
+
+  public JAXBParser() {
+    XSContext data = getContext();
+    data.setXsObjectFactory(JAXB_XS_OBJECT_FACTORY);
+    data.setXSObjectFactory(JAXB_OBJECT_FACTORY);
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBPropertyImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBPropertyImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBPropertyImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBPropertyImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavadoc;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsObjectFactory;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+
+
+/** <p>Implementation of the Property interface.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ * @version $Id: JAXBPropertyImpl.java 231785 2004-02-16 23:39:59Z jochen $
+ */
+public class JAXBPropertyImpl extends JAXBXsObjectImpl implements JAXBProperty {
+  public static class BaseTypeImpl extends JAXBXsObjectImpl implements JAXBProperty.BaseType {
+    /** <p>Creates a new instance of JAXBPropertyImpl.</p>
+     */
+    protected BaseTypeImpl(XsObject pParent) {
+      super(pParent);
+    }
+
+    private JAXBJavaType javaType;
+
+    public JAXBJavaType createJavaType() {
+      if (javaType != null) {
+        throw new IllegalStateException("Only one instance of javaType supported.");
+      }
+      javaType = ((JAXBXsObjectFactory) getObjectFactory()).newJAXBJavaType(this);
+      return javaType;
+    }
+
+    public JAXBJavaType getJavaType() {
+      return javaType;
+    }
+  }
+
+  private String name;
+  private String collectionType;
+  private Boolean fixedAttributeAsConstantProperty, generateIsSetMethod, enableFailFastCheck;
+  private JAXBJavadoc javadoc;
+  private BaseType baseType;
+
+  /** <p>Creates a new instance of JAXBPropertyImpl.</p>
+   */
+  protected JAXBPropertyImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  public void setName(String pName) {
+    name = pName;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public void setCollectionType(String pType) throws ClassNotFoundException {
+    collectionType = pType;
+  }
+
+  public String getCollectionType() { return collectionType; }
+
+  public void setFixedAttributeAsConstantProperty(Boolean pFixedAttributeAsConstantProperty) {
+    fixedAttributeAsConstantProperty = pFixedAttributeAsConstantProperty;
+  }
+
+  public Boolean isFixedAttributeAsConstantProperty() {
+    return fixedAttributeAsConstantProperty;
+  }
+
+  public void setGenerateIsSetMethod(Boolean pGenerateIsSetMethod) {
+    generateIsSetMethod = pGenerateIsSetMethod;
+  }
+
+  public Boolean isGenerateIsSetMethod() {
+    return generateIsSetMethod;
+  }
+
+  public void setEnableFailFastCheck(Boolean pEnableFailFastCheck) {
+    enableFailFastCheck = pEnableFailFastCheck;
+  }
+
+  public Boolean isEnableFailFastCheck() {
+    return enableFailFastCheck;
+  }
+
+  public JAXBJavadoc createJavadoc() {
+    if (javadoc != null) {
+      throw new IllegalStateException("Multiple javadoc elements are not supported.");
+    }
+    javadoc = getJAXBXsObjectFactory().newJAXBJavadoc(this);
+    return javadoc;
+  }
+
+  public JAXBJavadoc getJavadoc() {
+    return javadoc;
+  }
+
+  public BaseType createBaseType() {
+    if (baseType != null) {
+      throw new IllegalStateException("Multiple instances of baseType are not supported.");
+    }
+    baseType = ((JAXBXsObjectFactory) getObjectFactory()).newBaseType(this);
+    return baseType;
+  }
+
+  public BaseType getBaseType() {
+    return baseType;
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaBindingsImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaBindingsImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaBindingsImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaBindingsImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,195 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavadoc;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsObjectFactory;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+import org.apache.ws.jaxme.xs.xml.impl.XsObjectImpl;
+
+
+/** <p>Implementation of the SchemaBindings interface.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ * @version $Id: JAXBSchemaBindingsImpl.java 231789 2004-02-22 00:52:34Z jochen $
+ */
+public class JAXBSchemaBindingsImpl extends JAXBXsObjectImpl implements JAXBSchemaBindings {
+  private Package myPackage;
+  private List nameXmlTransforms;
+
+  public static class PackageImpl extends JAXBXsObjectImpl implements JAXBSchemaBindings.Package {
+    /** <p>Creates a new instance of JAXBSchemaBindingsImpl.</p>
+     */
+    protected PackageImpl(XsObject pParent) {
+      super(pParent);
+    }
+
+    private String name;
+    private JAXBJavadoc javadoc;
+
+    public void setName(String pName) {
+      name = pName;
+    }
+
+    public String getName() {
+      return name;
+    }
+
+    public JAXBJavadoc createJavadoc() {
+      if (javadoc != null) {
+        throw new IllegalStateException("Multiple javadoc elements are not supported.");
+      }
+      javadoc = getJAXBXsObjectFactory().newJAXBJavadoc(this);
+      return javadoc;
+    }
+
+    public JAXBJavadoc getJavadoc() {
+      return javadoc;
+    }
+  }
+
+  public static class NameXmlTransformImpl extends XsObjectImpl
+      implements JAXBSchemaBindings.NameXmlTransform {
+    public static class NameTransformationImpl extends XsObjectImpl
+        implements JAXBSchemaBindings.NameTransformation {
+      /** <p>Creates a new instance of JAXBSchemaBindingsImpl.</p>
+       */
+      protected NameTransformationImpl(XsObject pParent) {
+        super(pParent);
+      }
+
+      private String suffix, prefix;
+
+      public void setSuffix(String pSuffix) {
+        suffix = pSuffix;
+      }
+
+      public String getSuffix() {
+        return suffix;
+      }
+
+      public void setPrefix(String pPrefix) {
+        prefix = pPrefix;
+      }
+
+      public String getPrefix() {
+        return prefix;
+      }
+    }
+
+    /** <p>Creates a new instance of JAXBSchemaBindingsImpl.</p>
+     */
+    protected NameXmlTransformImpl(XsObject pParent) {
+      super(pParent);
+    }
+
+    private NameTransformation typeName, elementName, modelGroupName, anonymousTypeName;
+
+    public NameTransformation createTypeName() {
+      if (typeName != null) {
+        throw new IllegalStateException("Multiple instances of typeName are not supported.");
+      }
+      typeName = ((JAXBXsObjectFactory) getObjectFactory()).newNameTransformation(this);
+      return typeName;
+    }
+
+    public NameTransformation getTypeName() {
+      return typeName;
+    }
+
+    public NameTransformation createElementName() {
+      if (elementName != null) {
+        throw new IllegalStateException("Multiple instances of elementName are not supported.");
+      }
+      elementName = ((JAXBXsObjectFactory) getObjectFactory()).newNameTransformation(this);
+      return elementName;
+    }
+
+    public NameTransformation getElementName() {
+      return elementName;
+    }
+
+    public NameTransformation createModelGroupName() {
+      if (modelGroupName != null) {
+        throw new IllegalStateException("Multiple instances of modelGroupName are not supported.");
+      }
+      modelGroupName = ((JAXBXsObjectFactory) getObjectFactory()).newNameTransformation(this);
+      return modelGroupName;
+    }
+
+    public NameTransformation getModelGroupName() {
+      return modelGroupName;
+    }
+
+    public NameTransformation createAnonymousTypeName() {
+      if (anonymousTypeName != null) {
+        throw new IllegalStateException("Multiple instances of anonymousTypeName are not supported.");
+      }
+      anonymousTypeName = ((JAXBXsObjectFactory) getObjectFactory()).newNameTransformation(this);
+      return anonymousTypeName;
+    }
+
+    public NameTransformation getAnonymousTypeName() {
+      return anonymousTypeName;
+    }
+  }
+
+  /** <p>Creates a new instance of SchemaBindings with the given
+   * GlobalBindings.</p>
+   */
+  protected JAXBSchemaBindingsImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  /** <p>Creates a new Package implementation.</p>
+   */
+  public Package createPackage() {
+    if (myPackage != null) {
+      throw new IllegalStateException("Multiple package declarations are not supported.");
+    }
+    myPackage = ((JAXBXsObjectFactory) getObjectFactory()).newPackage(this);
+    return myPackage;
+  }
+
+  public Package getPackage() {
+    return myPackage;
+  }
+
+  /** <p>Creates a new NameXmlTransform implementation.</p>
+   */
+  public NameXmlTransform createNameXmlTransform() {
+    if (nameXmlTransforms == null) {
+      nameXmlTransforms = new ArrayList();
+    }
+    NameXmlTransform result = ((JAXBXsObjectFactory) getObjectFactory()).newNameXmlTransform(this);
+    nameXmlTransforms.add(result);
+    return result;
+  }
+
+  private static final NameXmlTransform[] DEFAULT_NAME_XML_TRANSFORMATION = new NameXmlTransform[0];
+  public NameXmlTransform[] getNameXmlTransform() {
+    if (nameXmlTransforms == null) {
+      return DEFAULT_NAME_XML_TRANSFORMATION;
+    } else {
+      return (NameXmlTransform[]) nameXmlTransforms.toArray(new NameXmlTransform[nameXmlTransforms.size()]);
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSchemaImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.impl.XSSchemaImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.*;
+import org.apache.ws.jaxme.xs.jaxb.JAXBGlobalBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchema;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsObjectFactory;
+import org.apache.ws.jaxme.xs.parser.XSContext;
+import org.apache.ws.jaxme.xs.xml.XsESchema;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBSchemaImpl extends XSSchemaImpl implements JAXBSchema {
+  private JAXBGlobalBindings globalBindings;
+
+  /** <p>Creates a new instance of JAXBSchemaImpl.</p>
+   */
+  protected JAXBSchemaImpl(XSContext pContext, XsESchema pSchema) throws SAXException {
+    super(pContext, pSchema);
+  }
+
+  public void validate() throws SAXException {
+    if (isValidated()) {
+      return;
+    }
+    super.validate();
+    JAXBGlobalBindings gBindings = (JAXBGlobalBindings) XSUtil.getSingleAppinfo(getAnnotations(), JAXBGlobalBindings.class);
+    globalBindings = gBindings == null ?
+      ((JAXBXsObjectFactory) getXsESchema().getObjectFactory()).newJAXBGlobalBindings(getXsESchema()) : gBindings;
+  }
+
+  public JAXBGlobalBindings getJAXBGlobalBindings() {
+    return globalBindings;
+  }
+
+  public String getJaxbVersion() {
+    return ((JAXBXsSchema) getXsESchema()).getJaxbVersion();
+  }
+
+  public String[] getJaxbExtensionBindingPrefixes() {
+    return ((JAXBXsSchema) getXsESchema()).getJaxbExtensionBindingPrefixes();
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleContentTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleContentTypeImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleContentTypeImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleContentTypeImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.impl.XSSimpleContentTypeImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSimpleContentType;
+import org.apache.ws.jaxme.xs.xml.XsTComplexType;
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBSimpleContentTypeImpl extends XSSimpleContentTypeImpl implements JAXBSimpleContentType {
+  private final JAXBProperty jaxbProperty;
+
+  /** <p>Creates a new instance of JAXBSimpleContentTypeImpl.</p>
+   */
+  protected JAXBSimpleContentTypeImpl(XSType pComplexType, XSType pSimpleType,
+                                       XsTComplexType pBaseType) throws SAXException {
+    super(pComplexType, pSimpleType, pBaseType);
+    jaxbProperty = (JAXBProperty) XSUtil.getSingleAppinfo(pComplexType.getAnnotations(), JAXBProperty.class);
+  }
+
+  public JAXBSchemaBindings getJAXBSchemaBindings() {
+    return ((JAXBXsSchemaImpl) getBaseType().getXsESchema()).getJAXBSchemaBindings();
+  }
+  public JAXBProperty getJAXBProperty() { return jaxbProperty; }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleTypeImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleTypeImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBSimpleTypeImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSAtomicType;
+import org.apache.ws.jaxme.xs.XSEnumeration;
+import org.apache.ws.jaxme.xs.XSListType;
+import org.apache.ws.jaxme.xs.XSSimpleType;
+import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.XSUnionType;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSimpleType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBTypesafeEnumClass;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBSimpleTypeImpl implements JAXBSimpleType {
+  private final XSSimpleType baseType;
+  private final JAXBJavaType jaxbJavaType;
+  private final JAXBTypesafeEnumClass jaxbTypesafeEnumClass;
+
+  /** <p>Creates a new instance of JAXBSimpleTypeImpl.</p>
+   */
+  protected JAXBSimpleTypeImpl(XSType pMyType, XSSimpleType pBaseType) throws SAXException {
+    jaxbJavaType = (JAXBJavaType) XSUtil.getSingleAppinfo(pMyType.getAnnotations(), JAXBJavaType.class);
+    jaxbTypesafeEnumClass = (JAXBTypesafeEnumClass) XSUtil.getSingleAppinfo(pMyType.getAnnotations(), JAXBTypesafeEnumClass.class);
+    baseType = pBaseType;
+  }
+
+  public JAXBJavaType getJAXBJavaType() { return jaxbJavaType; }
+  public JAXBTypesafeEnumClass getJAXBTypesafeEnumClass() { return jaxbTypesafeEnumClass; }
+  public boolean isAtomic() { return baseType.isAtomic(); }
+  public XSAtomicType getAtomicType() { return baseType.getAtomicType(); }
+  public boolean isList() { return baseType.isList(); }
+  public XSListType getListType() { return baseType.getListType(); }
+  public boolean isUnion() { return baseType.isUnion(); }
+  public XSUnionType getUnionType() { return baseType.getUnionType(); }
+  public String[][] getPattern() { return baseType.getPattern(); }
+  public XSEnumeration[] getEnumerations() { return baseType.getEnumerations(); }
+  public boolean isRestriction() { return baseType.isRestriction(); }
+  public XSType getRestrictedType() { return baseType.getRestrictedType(); }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypeImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypeImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypeImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.impl.XSTypeImpl;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.jaxb.JAXBClass;
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBType;
+import org.apache.ws.jaxme.xs.xml.XsETopLevelSimpleType;
+import org.apache.ws.jaxme.xs.xml.XsTComplexType;
+import org.apache.ws.jaxme.xs.xml.XsTLocalComplexType;
+import org.apache.ws.jaxme.xs.xml.XsTLocalSimpleType;
+import org.apache.ws.jaxme.xs.xml.XsTSimpleRestrictionType;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBTypeImpl extends XSTypeImpl implements JAXBType {
+  private JAXBClass jaxbClass;
+  private JAXBJavaType jaxbJavaType;
+
+  /** <p>Creates a new instance of JAXBTypeImpl.</p>
+   */
+  protected JAXBTypeImpl(XSObject pParent, XsETopLevelSimpleType pSimpleType) throws SAXException {
+    super(pParent, pSimpleType);
+  }
+
+  /** <p>Creates a new instance of JAXBTypeImpl.</p>
+   */
+  protected JAXBTypeImpl(XSObject pParent, XsTLocalSimpleType pSimpleType) throws SAXException {
+    super(pParent, pSimpleType);
+  }
+
+  /** <p>Creates a new instance of JAXBTypeImpl.</p>
+   */
+  protected JAXBTypeImpl(XSObject pParent, XsTSimpleRestrictionType pSimpleType) throws SAXException {
+    super(pParent, pSimpleType);
+  }
+
+  /** <p>Creates a new instance of JAXBTypeImpl.</p>
+   */
+  protected JAXBTypeImpl(XSObject pParent, XsTComplexType pComplexType) throws SAXException {
+    super(pParent, pComplexType);
+  }
+
+  /** <p>Creates a new instance of JAXBTypeImpl.</p>
+   */
+  protected JAXBTypeImpl(XSObject pParent, XsTLocalComplexType pComplexType) throws SAXException {
+    super(pParent, pComplexType);
+  }
+
+  public JAXBSchemaBindings getJAXBSchemaBindings() {
+    return ((JAXBXsSchemaImpl) getXsObject().getXsESchema()).getJAXBSchemaBindings();
+  }
+
+  public JAXBClass getJAXBClass() {
+    return jaxbClass;
+  }
+
+  public JAXBJavaType getJAXBJavaType() {
+  	return jaxbJavaType;
+  }
+
+  public void validate() throws SAXException {
+    if (isValidated()) {
+      return;
+    }
+    super.validate();
+    jaxbClass = (JAXBClass) XSUtil.getSingleAppinfo(getAnnotations(), JAXBClass.class);
+    jaxbJavaType = (JAXBJavaType) XSUtil.getSingleAppinfo(getAnnotations(), JAXBJavaType.class);
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumClassImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumClassImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumClassImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumClassImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavadoc;
+import org.apache.ws.jaxme.xs.jaxb.JAXBTypesafeEnumClass;
+import org.apache.ws.jaxme.xs.jaxb.JAXBTypesafeEnumMember;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsObjectFactory;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+
+
+/** <p>Implementation of the TypesafeEnumClass interface.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ * @version $Id: JAXBTypesafeEnumClassImpl.java 231785 2004-02-16 23:39:59Z jochen $
+ */
+public class JAXBTypesafeEnumClassImpl extends JAXBXsObjectImpl implements JAXBTypesafeEnumClass {
+  private String name;
+  private JAXBJavadoc javadoc;
+  private List typesafeEnumMembers;
+
+  /** <p>Creates a new instance of JAXBTypesafeEnumClassImpl.java.</p>
+   */
+  protected JAXBTypesafeEnumClassImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  public void setName(String pName) {
+    name = pName;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public JAXBTypesafeEnumMember createTypesafeEnumMember() {
+    if (typesafeEnumMembers == null) {
+      typesafeEnumMembers = new ArrayList();
+    }
+    JAXBTypesafeEnumMember result = ((JAXBXsObjectFactory) getObjectFactory()).newJAXBTypesafeEnumMember(this);
+    typesafeEnumMembers.add(result);
+    return result;
+  }
+
+  public Iterator getTypesafeEnumMember() {
+    return (typesafeEnumMembers == null ? Collections.EMPTY_LIST : typesafeEnumMembers).iterator();
+  }
+
+  public JAXBJavadoc createJavadoc() {
+    if (javadoc != null) {
+      throw new IllegalStateException("Multiple javadoc elements are not supported.");
+    }
+    javadoc = getJAXBXsObjectFactory().newJAXBJavadoc(this);
+    return javadoc;
+  }
+
+  public JAXBJavadoc getJavadoc() {
+    return javadoc;
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumMemberImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumMemberImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumMemberImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBTypesafeEnumMemberImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.jaxb.JAXBJavadoc;
+import org.apache.ws.jaxme.xs.jaxb.JAXBTypesafeEnumMember;
+import org.apache.ws.jaxme.xs.xml.XsObject;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBTypesafeEnumMemberImpl extends JAXBXsObjectImpl
+    implements JAXBTypesafeEnumMember {
+  /** <p>Creates a new instance of JAXBTypesafeEnumClassImpl.java.</p>
+   */
+  protected JAXBTypesafeEnumMemberImpl(XsObject pParent) {
+    super(pParent);
+  }
+
+  private String name, value;
+  private JAXBJavadoc javadoc;
+
+  public void setName(String pName) {
+    name = pName;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public void setValue(String pValue) {
+    value = pValue;
+  }
+
+  public String getValue() {
+    return value;
+  }
+
+  public JAXBJavadoc createJavadoc() {
+    if (javadoc != null) {
+      throw new IllegalStateException("Multiple javadoc elements are not supported.");
+    }
+    javadoc = getJAXBXsObjectFactory().newJAXBJavadoc(this);
+    return javadoc;
+  }
+
+  public JAXBJavadoc getJavadoc() {
+    return javadoc;
+  }
+}
\ No newline at end of file

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBWildcardImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBWildcardImpl.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBWildcardImpl.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/jaxb/impl/JAXBWildcardImpl.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.jaxb.impl;
+
+import org.apache.ws.jaxme.xs.XSObject;
+import org.apache.ws.jaxme.xs.impl.XSUtil;
+import org.apache.ws.jaxme.xs.impl.XSWildcardImpl;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
+import org.apache.ws.jaxme.xs.jaxb.JAXBWildcard;
+import org.apache.ws.jaxme.xs.jaxb.JAXBXsSchema;
+import org.apache.ws.jaxme.xs.xml.XsTWildcard;
+import org.xml.sax.SAXException;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class JAXBWildcardImpl extends XSWildcardImpl implements JAXBWildcard {
+    private JAXBProperty jaxbProperty;
+
+    protected JAXBWildcardImpl(XSObject pParent, XsTWildcard pBaseObject) {
+        super(pParent, pBaseObject);
+    }
+
+    public JAXBProperty getJAXBProperty() { return jaxbProperty; }
+
+    public void validate() throws SAXException {
+        if (isValidated()) {
+            return;
+        } else {
+            super.validate();
+            jaxbProperty = (JAXBProperty) XSUtil.getSingleAppinfo(getAnnotations(), JAXBProperty.class);
+        }
+    }
+
+    public JAXBSchemaBindings getJAXBSchemaBindings() {
+        return ((JAXBXsSchema) getXsObject().getXsESchema()).getJAXBSchemaBindings();
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org