📄 uddiobject.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 + -