Package javax.xml.rpc.holders

Examples of javax.xml.rpc.holders.BooleanHolder


      // The restriction node indicates the type being restricted
      // (the base attribute contains this type).
      // The base type must be a simple type, and not boolean
      TypeEntry baseEType = null;
      if (restrictionNode != null) {
        QName baseType = Utils.getTypeQName(restrictionNode, new BooleanHolder(), false);
        baseEType = symbolTable.getType(baseType);
        if (baseEType != null) {
          String javaName = TypeMap.getBasicTypeClass4qname(baseEType.getQName());
          //String javaName = baseEType.getName();
          if (javaName.equals("boolean") ||
View Full Code Here


                        // get the type of the extension/restriction from the "base" attribute
                        QName extendsOrRestrictsType =
                            Utils.getTypeQName(
                                children.item(j),
                                new BooleanHolder(),
                                false);

                        // Return an element declaration with a fixed name
                        // ("value") and the correct type.
                        Vector v = new Vector();
View Full Code Here

                }
            }
        }
        else
        {
            BooleanHolder forElement = new BooleanHolder();
            QName nodeName = Utils.getTypeQName(groupNode, forElement, false);
            TypeEntry type =
                symbolTable.getTypeEntry(nodeName, forElement.value);

            if (type != null)
View Full Code Here

        SymbolTable symbolTable)
    {

        // Get the name qnames.
        QName nodeName = Utils.getNodeNameQName(elementNode);
        BooleanHolder forElement = new BooleanHolder();
        String comments = null;
        comments = getAnnotationDocumentation(elementNode);

        // The type qname is used to locate the TypeEntry, which is then
        // used to retrieve the proper java name of the type.
View Full Code Here

            else
            {

                // Get the QName of the extension base
                QName restrictionType =
                    Utils.getTypeQName(restriction, new BooleanHolder(), false);

                if (restrictionType == null)
                {
                    return null;
                }
View Full Code Here

            else
            {

                // Get the QName of the extension base
                QName extendsType =
                    Utils.getTypeQName(extension, new BooleanHolder(), false);

                if (extendsType == null)
                {
                    cached = null;
                }
View Full Code Here

            {
                baseQNames = new QName[1];
                baseQNames[0] =
                    Utils.getTypeQName(
                        restrictionNode,
                        new BooleanHolder(),
                        false);
            }

            if (unionNode != null)
            {
View Full Code Here

        if (isXSDNode(node, "element"))
        {

            // Compare the componentQName with the name of the
            // full name.  If different, return componentQName
            BooleanHolder forElement = new BooleanHolder();
            QName componentQName = Utils.getTypeQName(node, forElement, true);

            if (componentQName != null)
            {
                QName fullQName = Utils.getTypeQName(node, forElement, false);
View Full Code Here

            if (restrictionNode != null)
            {
                baseType =
                    Utils.getTypeQName(
                        restrictionNode,
                        new BooleanHolder(),
                        false);

                if (baseType != null)
                {
                    if (!baseType.getLocalPart().equals("Array")
                        || !Constants.isSOAP_ENC(baseType.getNamespaceURI()))
                    {
                        if (!symbolTable.arrayTypeQNames.contains(baseType))
                        {
                            baseType = null; // Did not find base=soapenc:Array
                        }
                    }
                }
            }

            // Under the restriction there should be an attribute OR a sequence/all group node.
            // (There may be other #text nodes, which we will ignore).
            Node groupNode = null;
            Node attributeNode = null;

            if (baseType != null)
            {
                children = restrictionNode.getChildNodes();

                for (int j = 0;
                    (j < children.getLength())
                        && (groupNode == null)
                        && (attributeNode == null);
                    j++)
                {
                    Node kid = children.item(j);

                    if (isXSDNode(kid, "sequence") || isXSDNode(kid, "all"))
                    {
                        groupNode = kid;

                        if (groupNode.getChildNodes().getLength() == 0)
                        {

                            // This covers the rather odd but legal empty sequence.
                            // <complexType name="ArrayOfString">
                            // <complexContent>
                            // <restriction base="soapenc:Array">
                            // <sequence/>
                            // <attribute ref="soapenc:arrayType" wsdl:arrayType="string[]"/>
                            // </restriction>
                            // </complexContent>
                            // </complexType>
                            groupNode = null;
                        }
                    }

                    if (isXSDNode(kid, "attribute"))
                    {

                        // If the attribute node does not have ref="soapenc:arrayType"
                        // then keep looking.
                        BooleanHolder isRef = new BooleanHolder();
                        QName refQName = Utils.getTypeQName(kid, isRef, false);

                        if ((refQName != null)
                            && isRef.value
                            && refQName.getLocalPart().equals("arrayType")
                            && Constants.isSOAP_ENC(refQName.getNamespaceURI()))
                        {
                            attributeNode = kid;
                        }
                    }
                }
            }

            // If there is an attribute node, look at wsdl:arrayType to get the element type
            if (attributeNode != null)
            {
                String wsdlArrayTypeValue = null;
                Vector attrs =
                    Utils.getAttributesWithLocalName(
                        attributeNode,
                        "arrayType");

                for (int i = 0;
                    (i < attrs.size()) && (wsdlArrayTypeValue == null);
                    i++)
                {
                    Node attrNode = (Node) attrs.elementAt(i);
                    String attrName = attrNode.getNodeName();
                    QName attrQName =
                        Utils.getQNameFromPrefixedName(attributeNode, attrName);

                    if (Constants.isWSDL(attrQName.getNamespaceURI()))
                    {
                        wsdlArrayTypeValue = attrNode.getNodeValue();
                    }
                }

                // The value could have any number of [] or [,] on the end
                // Strip these off to get the prefixed name.
                // The convert the prefixed name into a qname.
                // Count the number of [ and , to get the dim information.
                if (wsdlArrayTypeValue != null)
                {
                    int i = wsdlArrayTypeValue.indexOf('[');

                    if (i > 0)
                    {
                        String prefixedName =
                            wsdlArrayTypeValue.substring(0, i);
                        String mangledString =
                            wsdlArrayTypeValue.replace(',', '[');

                        dims.value = 0;

                        int index = mangledString.indexOf('[');

                        while (index > 0)
                        {
                            dims.value++;

                            index = mangledString.indexOf('[', index + 1);
                        }

                        return Utils.getQNameFromPrefixedName(
                            restrictionNode,
                            prefixedName);
                    }
                }
            }
            else
                if (groupNode != null)
                {

                    // Get the first element node under the group node.
                    NodeList elements = groupNode.getChildNodes();
                    Node elementNode = null;

                    for (int i = 0;
                        (i < elements.getLength()) && (elementNode == null);
                        i++)
                    {
                        Node kid = elements.item(i);

                        if (isXSDNode(kid, "element"))
                        {
                            elementNode = elements.item(i);

                            break;
                        }
                    }

                    // The element node should have maxOccurs="unbounded" and
                    // a type
                    if (elementNode != null)
                    {
                        String maxOccursValue =
                            Utils.getAttribute(elementNode, "maxOccurs");

                        if ((maxOccursValue != null)
                            && maxOccursValue.equalsIgnoreCase("unbounded"))
                        {

                            // Get the QName of the type without considering maxOccurs
                            dims.value = 1;

                            return Utils.getTypeQName(
                                elementNode,
                                new BooleanHolder(),
                                true);
                        }
                    }
                }
        }
View Full Code Here

        // Get the name and type qnames.
        // The type qname is used to locate the TypeEntry, which is then
        // used to retrieve the proper java name of the type.
        QName attributeName = Utils.getNodeNameQName(child);
        BooleanHolder forElement = new BooleanHolder();
        QName attributeType = Utils.getTypeQName(child, forElement, false);

        // An attribute is either qualified or unqualified.
        // If the ref= attribute is used, the name of the ref'd element is used
        // (which must be a root element).  If the ref= attribute is not
View Full Code Here

TOP

Related Classes of javax.xml.rpc.holders.BooleanHolder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.