alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Axis 2 example source code file (Union.java)

This example Axis 2 source code file (Union.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Axis 2 tags/keywords

double, integer, math, negativeinteger, object, object, positiveinteger, qname, qname, string, string, unsignedint, unsignedlong, unsignedlong, xmlstreamexception

The Axis 2 Union.java source code

/*
 * 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.
 */
package org.apache.axis2.databinding.types;


import org.apache.axis2.databinding.utils.ConverterUtil;

import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import java.math.BigDecimal;


/** this class is the super class of all the union simple types */
public abstract class Union {
    // object to store values
    protected Object localObject;

    public Object getObject() {
        return localObject;
    }

    public abstract void setObject(Object localObject);

    public String toString() {
        return this.localObject.toString();
    }

    /**
     * method to parse xmlschema objects
     *
     * @param xmlStreamReader
     * @param namespaceURI
     * @param type
     * @throws URI.MalformedURIException
     * @throws XMLStreamException
     */

    public void setObject(XMLStreamReader xmlStreamReader,
                          String namespaceURI,
                          String type) throws URI.MalformedURIException, XMLStreamException {
        String value = xmlStreamReader.getElementText();
        if ("string".equals(type)) {
            setObject(value);
        } else if ("int".equals(type) || "integer".equals(type)) {
            setObject(new Integer(value));
        } else if ("boolean".equals(type)) {
            setObject(new Boolean(value));
        } else if ("anyURI".equals(type)) {
            setObject(new URI(value));
        } else if ("date".equals(type)) {
            setObject(ConverterUtil.convertToDate(value));
        } else if ("QName".equals(type)) {
            if (value.indexOf(":") > 0) {
                // i.e it has a name space
                String prefix = value.substring(0, value.indexOf(":"));
                String localPart = value.substring(value.indexOf(":") + 1);
                String namespace = xmlStreamReader.getNamespaceURI(prefix);
                setObject(new QName(namespace, localPart, prefix));
            } else {
                setObject(new QName(value));
            }
        } else if ("dateTime".equals(type)) {
            setObject(ConverterUtil.convertToDateTime(value));
        } else if ("time".equals(type)) {
            setObject(ConverterUtil.convertToTime(value));
        } else if ("float".equals(type)) {
            setObject(new Float(value));
        } else if ("long".equals(type)) {
            setObject(new Long(value));
        } else if ("double".equals(type)) {
            setObject(new Double(value));
        } else if ("decimal".equals(type)) {
            setObject(new BigDecimal(value));
        } else if ("unsignedLong".equals(type)) {
            setObject(new UnsignedLong(value));
        } else if ("unsignedInt".equals(type)) {
            setObject(new UnsignedInt(value));
        } else if ("unsignedShort".equals(type)) {
            setObject(new UnsignedShort(value));
        } else if ("unsignedByte".equals(type)) {
            setObject(new UnsignedByte(value));
        } else if ("positiveInteger".equals(type)) {
            setObject(new PositiveInteger(value));
        } else if ("negativeInteger".equals(type)) {
            setObject(new NegativeInteger(value));
        } else if ("nonNegativeInteger".equals(type)) {
            setObject(new NonNegativeInteger(value));
        } else if ("nonPositiveInteger".equals(type)) {
            setObject(new NonPositiveInteger(value));
        } else {
            throw new RuntimeException("Object not found");
        }
    }

}

Other Axis 2 examples (source code examples)

Here is a short list of links related to this Axis 2 Union.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.