⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uddiobject.java

📁 OpenWeb-UDDI是UDDI V2标准的实现
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   UddiObject.java

package org.huihoo.openweb.uddi;

import java.io.*;
import java.util.Enumeration;
import java.util.Vector;
import org.apache.soap.util.xml.DOM2Writer;
import org.huihoo.openweb.uddiserver.util.DocBuilder;
import org.w3c.dom.*;

// Referenced classes of package org.huihoo.openweb.uddi:
//            UDDIXmlException

public class UddiObject
{

    protected Document doc;

    protected UddiObject()
    {
    }

    public UddiObject(String name)
    {
        doc = DocBuilder.getNewDocument();
        Element elem = doc.createElement(name);
        doc.appendChild(elem);
        
    }

    public UddiObject(InputStream is)
        throws UDDIXmlException, IOException
    {
        doc = DocBuilder.parse(is);
    }

    public UddiObject(Element e)
    {
        doc = DocBuilder.getNewDocument();
        Node importedNode = doc.importNode(e, true);
        doc.appendChild(importedNode);
    }

    public String toString()
    {
        Element elem = doc.getDocumentElement();
        return DOM2Writer.nodeToString(elem);
    }

    public void addElement(UddiObject u)
    {
        Element e = u.getElement();
        Node importedNode = doc.importNode(e, true);
        Element elem = doc.getDocumentElement();
        elem.appendChild(importedNode);
    }

    public UddiObject getElement(String relativeName)
        throws UDDIXmlException
    {
        NodeList nodes = doc.getElementsByTagName(relativeName);
        int size = nodes.getLength();
        if(size == 0)
            return null;
        int numElements = 0;
        Node requiredNode = null;
        for(int i = 0; i < size; i++)
        {
            Node node = nodes.item(i);
            if(node.getNodeType() == 1)
            {
                numElements++;
                requiredNode = node;
            }
        }

        if(numElements == 0)
            return null;
        if(numElements > 1)
            throw new UDDIXmlException("More than one element found. One expected");
        else
            return new UddiObject((Element)requiredNode);
    }

    public UddiObject getElementNS(String nameSpaceUri, String localName)
        throws UDDIXmlException
    {
        NodeList nodes = doc.getElementsByTagNameNS(nameSpaceUri, localName);
        int size = nodes.getLength();
        if(size == 0)
            return null;
        if(size > 1)
            throw new UDDIXmlException("More than one element found. One expected");
        Node node = nodes.item(0);
        if(node.getNodeType() != 1)
            throw new UDDIXmlException("Element node expected. Found some other type.");
        else
            return new UddiObject((Element)node);
    }

    public Enumeration getChildElements()
    {
        Element elem = doc.getDocumentElement();
        Vector vec = new Vector();
        NodeList children = elem.getChildNodes();
        int size = children.getLength();
        for(int i = 0; i < size; i++)
        {
            Node child = children.item(i);
            if(child.getNodeType() == 1)
                vec.addElement(new UddiObject((Element)child));
        }

        return vec.elements();
    }

    public void setAttribute(String aName, String aValue)
    {
        Element elem = doc.getDocumentElement();
        elem.setAttribute(aName, aValue);
    }

    public String getAttribute(String aName)
    {
        Element elem = doc.getDocumentElement();
        String attr = elem.getAttribute(aName).trim();
        if(attr.equals(""))
            return null;
        else
            return attr;
    }

    public void setValue(String value)
    {
        Element elem = doc.getDocumentElement();
     //   System.out.println("doc.getDocumentElement() "+doc.getDocumentElement());
        NodeList nodes = elem.getChildNodes();
        int size = nodes.getLength();
        Node textNode = null;
        for(int i = 0; i < size; i++)
        {
            Node node = nodes.item(i);
            if(node.getNodeType() != 3)
                continue;
            textNode = node;
            break;
        }

        if(textNode != null)
        {
            textNode.setNodeValue(value.trim());
            return;
        } else
        {
            textNode = doc.createTextNode(value.trim());
            elem.appendChild(textNode);
            return;
        }
    }

    public String getValue()
    {
        Element elem = doc.getDocumentElement();
        NodeList nodes = elem.getChildNodes();
        int size = nodes.getLength();
        if(size > 0)
        {
            for(int i = 0; i < size; i++)
            {
                Node node = nodes.item(i);
                if(node.getNodeType() == 3)
                    return node.getNodeValue().trim();
            }

        }
        return null;
    }

    public String getName()
    {
        Element elem = doc.getDocumentElement();
        return elem.getTagName().trim();
    }

    public Enumeration getElementsNamed(String name)
    {
        Element elem = doc.getDocumentElement();
        NodeList nodes = elem.getElementsByTagName(name);
        int size = nodes.getLength();
        System.out.println(size);
        if(size > 0)
        {
            Vector elemVec = new Vector(size);
            for(int i = 0; i < size; i++)
            {
                Node node = nodes.item(i);
                elemVec.addElement(new UddiObject((Element)node));
            }

            return elemVec.elements();
        } else
        {
            return null;
        }
    }

    public Enumeration getElementsNamed(String name, String parentname)
    {
        Element elem = doc.getDocumentElement();
        NodeList nodes = elem.getElementsByTagName(name);
        int size = nodes.getLength();
        if(size > 0)
        {
            Vector elemVec = new Vector(size);
            for(int i = 0; i < size; i++)
            {
                Node node = nodes.item(i);
                if(nodes.item(i).getParentNode().getNodeName().equals(parentname))
                {
                    System.out.println("get it");
                    elemVec.addElement(new UddiObject((Element)node));
                }
            }

            return elemVec.elements();
        } else
        {
            return null;
        }
    }

    public Element getElement()
    {
        return doc.getDocumentElement();
    }

    public Document getDoc()
    {
        return doc;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -