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

📄 xmltablecolumndefinition.java

📁 Java的面向对象数据库系统的源代码
💻 JAVA
字号:
/* * Copyright 2001 (C) MetaStuff, Ltd. All Rights Reserved. *  * This software is open source.  * See the bottom of this file for the licence. *  * $Id: XMLTableColumnDefinition.java,v 1.2 2003/06/10 16:18:35 per_nyfelt Exp $ */package org.dom4j.swing;import org.dom4j.DocumentHelper;import org.dom4j.Node;import org.dom4j.XPath;import java.io.Serializable;/** <p><code>XMLTableColumnDefinition</code> a column  * within a table definition.</p>  *  * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>  * @version $Revision: 1.2 $   */public class XMLTableColumnDefinition implements Serializable {    public static final int OBJECT_TYPE = 0;    public static final int STRING_TYPE = 1;    public static final int NUMBER_TYPE = 2;    public static final int NODE_TYPE = 3;        /** Holds value of property type. */    private int type;        /** Holds value of property name. */    private String name;        /** Holds value of property xpath. */    private XPath xpath;        /** Holds the XPath used for the column name */    private XPath columnNameXPath;    public static int parseType(String typeName) {        if ( typeName != null && typeName.length() > 0 ) {            if ( typeName.equals( "string" ) ) {                return STRING_TYPE;            }            else if ( typeName.equals( "number" ) ) {                return NUMBER_TYPE;            }            else if ( typeName.equals( "node" ) ) {                return NODE_TYPE;            }        }        return OBJECT_TYPE;    }        public XMLTableColumnDefinition() {    }        public XMLTableColumnDefinition(String name, String expression, int type) {        this.name = name;        this.type = type;        this.xpath = createXPath(expression);    }        public XMLTableColumnDefinition(String name, XPath xpath, int type) {        this.name = name;        this.xpath = xpath;        this.type = type;    }        public XMLTableColumnDefinition(XPath columnNameXPath, XPath xpath, int type) {        this.xpath = xpath;        this.columnNameXPath = columnNameXPath;        this.type = type;    }            public Class getColumnClass() {        switch (type) {            case STRING_TYPE:                return String.class;            case NUMBER_TYPE:                return Number.class;            case NODE_TYPE:                return Node.class;            default:                return Object.class;        }    }        public Object getValue(Object row) {        switch (type) {            case STRING_TYPE:                return xpath.valueOf( row );            case NUMBER_TYPE:                return xpath.numberValueOf( row );            case NODE_TYPE:                return xpath.selectSingleNode( row );            default:                return xpath.evaluate( row );        }    }        // Properties    //-------------------------------------------------------------------------                        /** Getter for property type.     * @return Value of property type.     */    public int getType() {        return type;    }        /** Setter for property type.     * @param type New value of property type.     */    public void setType(int type) {        this.type = type;    }        /** Getter for property name.     * @return Value of property name.     */    public String getName() {        return name;    }        /** Setter for property name.     * @param name New value of property name.     */    public void setName(String name) {        this.name = name;    }        /** Getter for property xpath.     * @return Value of property xpath.     */    public XPath getXPath() {        return xpath;    }        /** Setter for property xpath.     * @param xpath New value of property xpath.     */    public void setXPath(XPath xpath) {        this.xpath = xpath;    }        /**      * @return the XPath used to create the column name     */    public XPath getColumnNameXPath() {        return columnNameXPath;    }        /** Setter for property xpath.     * @param xpath New value of property xpath.     */    public void setColumnNameXPath(XPath columnNameXPath) {        this.columnNameXPath = columnNameXPath;    }        // Implementation methods    //-------------------------------------------------------------------------                    protected XPath createXPath(String expression) {        return DocumentHelper.createXPath(expression);    }            protected void handleException(Exception e) {        // #### should use jakarta commons-logging        System.out.println( "Caught: " + e );    }}/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: * * 1. Redistributions of source code must retain copyright *    statements and notices.  Redistributions must also contain a *    copy of this document. * * 2. Redistributions in binary form must reproduce the *    above copyright notice, this list of conditions and the *    following disclaimer in the documentation and/or other *    materials provided with the distribution. * * 3. The name "DOM4J" must not be used to endorse or promote *    products derived from this Software without prior written *    permission of MetaStuff, Ltd.  For written permission, *    please contact dom4j-info@metastuff.com. * * 4. Products derived from this Software may not be called "DOM4J" *    nor may "DOM4J" appear in their names without prior written *    permission of MetaStuff, Ltd. DOM4J is a registered *    trademark of MetaStuff, Ltd. * * 5. Due credit should be given to the DOM4J Project *    (http://dom4j.org/). * * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL * METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * * Copyright 2001 (C) MetaStuff, Ltd. All Rights Reserved. * * $Id: XMLTableColumnDefinition.java,v 1.2 2003/06/10 16:18:35 per_nyfelt Exp $ */

⌨️ 快捷键说明

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