XMLTableColumnDefinition.java 源代码
package org.dom4j.swing;
import java.io.PrintStream;
import java.io.Serializable;
import org.dom4j.DocumentHelper;
import org.dom4j.XPath;
public class XMLTableColumnDefinition implements Serializable {
public static final int NODE_TYPE = 3;
public static final int NUMBER_TYPE = 2;
public static final int OBJECT_TYPE = 0;
public static final int STRING_TYPE = 1;
static Class class$java$lang$Number;
static Class class$java$lang$Object;
static Class class$java$lang$String;
static Class class$org$dom4j$Node;
private XPath columnNameXPath;
private String name;
private int type;
private XPath xpath;
public XMLTableColumnDefinition() {
}
public XMLTableColumnDefinition(String str, String str2, int i) {
this.name = str;
this.type = i;
this.xpath = createXPath(str2);
}
public XMLTableColumnDefinition(String str, XPath xPath, int i) {
this.name = str;
this.xpath = xPath;
this.type = i;
}
public XMLTableColumnDefinition(XPath xPath, XPath xPath2, int i) {
this.xpath = xPath2;
this.columnNameXPath = xPath;
this.type = i;
}
public static int parseType(String str) {
if (str == null || str.length() <= 0) {
return 0;
}
if (str.equals("string")) {
return 1;
}
if (str.equals("number")) {
return 2;
}
return str.equals("node") ? 3 : 0;
}
public Class getColumnClass() {
int i = this.type;
if (i == 1) {
Class cls = class$java$lang$String;
if (cls != null) {
return cls;
}
Class class$ = class$("java.lang.String");
class$java$lang$String = class$;
return class$;
}
if (i == 2) {
Class cls2 = class$java$lang$Number;
if (cls2 != null) {
return cls2;
}
Class class$2 = class$("java.lang.Number");
class$java$lang$Number = class$2;
return class$2;
}
if (i == 3) {
Class cls3 = class$org$dom4j$Node;
if (cls3 != null) {
return cls3;
}
Class class$3 = class$("org.dom4j.Node");
class$org$dom4j$Node = class$3;
return class$3;
}
Class cls4 = class$java$lang$Object;
if (cls4 != null) {
return cls4;
}
Class class$4 = class$("java.lang.Object");
class$java$lang$Object = class$4;
return class$4;
}
static Class class$(String str) {
try {
return Class.forName(str);
} catch (ClassNotFoundException e) {
throw new NoClassDefFoundError(e.getMessage());
}
}
public Object getValue(Object obj) {
int i = this.type;
if (i == 1) {
return this.xpath.valueOf(obj);
}
if (i == 2) {
return this.xpath.numberValueOf(obj);
}
if (i == 3) {
return this.xpath.selectSingleNode(obj);
}
return this.xpath.evaluate(obj);
}
public int getType() {
return this.type;
}
public void setType(int i) {
this.type = i;
}
public String getName() {
return this.name;
}
public void setName(String str) {
this.name = str;
}
public XPath getXPath() {
return this.xpath;
}
public void setXPath(XPath xPath) {
this.xpath = xPath;
}
public XPath getColumnNameXPath() {
return this.columnNameXPath;
}
public void setColumnNameXPath(XPath xPath) {
this.columnNameXPath = xPath;
}
protected XPath createXPath(String str) {
return DocumentHelper.createXPath(str);
}
protected void handleException(Exception exc) {
PrintStream printStream = System.out;
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Caught: ");
stringBuffer.append(exc);
printStream.println(stringBuffer.toString());
}
}