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

📄 tabledefinition.java

📁 是一个专门设计用于触摸屏的POS(point of sales)应用软件
💻 JAVA
字号:
//    Tina POS is a point of sales application designed for touch screens.//    Copyright (C) 2005 Adrian Romero Corchado.//    http://sourceforge.net/projects/tinapos////    This program is free software; you can redistribute it and/or modify//    it under the terms of the GNU General Public License as published by//    the Free Software Foundation; either version 2 of the License, or//    (at your option) any later version.////    This program is distributed in the hope that it will be useful,//    but WITHOUT ANY WARRANTY; without even the implied warranty of//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//    GNU General Public License for more details.////    You should have received a copy of the GNU General Public License//    along with this program; if not, write to the Free Software//    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USApackage net.adrianromero.data.loader;import java.sql.Connection;import net.adrianromero.format.Formats;public class TableDefinition {        private Session m_s;    private String m_sTableName;    private String m_sWhere;    private int[] m_aiIDs;        private String[] m_asFields;    private Datas[] m_aDatas;        private Formats[] m_aFmtVector; // los nulos son para los huecos en el vectorizer    private Formats[] m_aFmtString; // los nulos son para los huecos en el stringnizer        private int[] m_iOrderIndexes;        /** Creates a new instance of TableDefinition */    public TableDefinition(            Session s,            String sTableName, String sWhere, int[] aiIDs, String[] asFields,            Datas[] aDatas, Formats[] aFmtVector, Formats[] aFmtString,            int[] iOrderIndexes) {        m_s = s;        m_sTableName = sTableName;        m_sWhere = sWhere;        m_aiIDs = aiIDs;        m_asFields = asFields;        m_aDatas = aDatas;        m_aFmtVector = aFmtVector;        m_aFmtString = aFmtString;           m_iOrderIndexes = iOrderIndexes;    }    public TableDefinition(            Session s,            String sTableName, int[] aiIDs, String[] asFields,            Datas[] aDatas, Formats[] aFmtVector, Formats[] aFmtString,            int[] iOrderIndexes) {        this(s, sTableName, null, aiIDs, asFields, aDatas, aFmtVector, aFmtString, iOrderIndexes);    }    public TableDefinition(            Session s,            String sTableName, int[] aiIDs, String[] asFields,            Datas[] aDatas, Formats[] aFmtVector, Formats[] aFmtString) {        this(s, sTableName, null, aiIDs, asFields, aDatas, aFmtVector, aFmtString, null);    }        /** Creates a new instance of TableDefinition */    public TableDefinition(            Session s,            String sTableName, int[] aiIDs, String[] asFields) {        this(s, sTableName, null, aiIDs, asFields, null, null, null, null);    }        public String getTableName() {        return m_sTableName;    }        public String[] getFields() {        return m_asFields;    }        public Vectorer getVectorerBasic() {        return new VectorerBasic(m_asFields, m_aFmtVector);    }        public IRenderString getRenderStringBasic() {        return new RenderStringBasic(m_aFmtString);    }        public IKeyGetter getKeyGetterBasic() {        if (m_aiIDs.length == 1) {            return new KeyGetterFirst(m_aiIDs);        } else {            return new KeyGetterBasic(m_aiIDs);             }    }            public SerializerRead getSerializerReadBasic() {        return new SerializerReadBasic(m_aDatas);    }    public SerializerWrite getSerializerInsertBasic() {        return new SerializerWriteBasic(m_aDatas);    }    public SerializerWrite getSerializerDeleteBasic() {             return new SerializerWriteBasicExt(m_aDatas, m_aiIDs);    }    public SerializerWrite getSerializerUpdateBasic() {                int[] aindex = new int[m_asFields.length + m_aiIDs.length];        for (int i = 0; i < m_asFields.length; i++) {            aindex[i] = i;        }         for (int i = 0; i < m_aiIDs.length; i++) {            aindex[i + m_asFields.length] = m_aiIDs[i];        }                return new SerializerWriteBasicExt(m_aDatas, aindex);    }        public SentenceList getListSentence() {        return getListSentence(getSerializerReadBasic());    }        public SentenceList getListSentence(SerializerRead sr) {        return new PreparedSentence(m_s, getListSQL(), null,  sr);    }        public String getListSQL() {                StringBuffer sent = new StringBuffer();        sent.append("select ");        for (int i = 0; i < m_asFields.length; i ++) {            if (i > 0) {                sent.append(", ");            }            sent.append(m_asFields[i]);        }                        sent.append(" from ");                sent.append(m_sTableName);                if (m_sWhere != null) {            sent.append(m_sWhere);        }                return sent.toString();        }       public SentenceExec getDeleteSentence() {        return getDeleteSentence(getSerializerDeleteBasic());    }        public SentenceExec getDeleteSentence(SerializerWrite sw) {        return new PreparedSentence(m_s, getDeleteSQL(), sw, null);    }        public String getDeleteSQL() {                StringBuffer sent = new StringBuffer();        sent.append("delete from ");        sent.append(m_sTableName);                for (int i = 0; i < m_aiIDs.length; i ++) {            sent.append((i == 0) ? " where " : " and ");            sent.append(m_asFields[m_aiIDs[i]]);            sent.append(" = ?");        }                return sent.toString();         }       public SentenceExec getInsertSentence() {        return getInsertSentence(getSerializerInsertBasic());    }        public SentenceExec getInsertSentence(SerializerWrite sw) {        return new PreparedSentence(m_s, getInsertSQL(), sw, null);    }        public String getInsertSQL() {                StringBuffer sent = new StringBuffer();        StringBuffer values = new StringBuffer();                sent.append("insert into ");        sent.append(m_sTableName);        sent.append(" (");                        for (int i = 0; i < m_asFields.length; i ++) {            if (i > 0) {                sent.append(", ");                values.append(", ");            }            sent.append(m_asFields[i]);            values.append("?");        }                sent.append(") values (");        sent.append(values.toString());        sent.append(")");        return sent.toString();           }       public SentenceExec getUpdateSentence() {        return getUpdateSentence(getSerializerUpdateBasic());    }        public SentenceExec getUpdateSentence(SerializerWrite sw) {        return new PreparedSentence(m_s, getUpdateSQL(), sw, null);    }        public String getUpdateSQL() {                StringBuffer sent = new StringBuffer();                sent.append("update ");        sent.append(m_sTableName);        sent.append(" set ");                for (int i = 0; i < m_asFields.length; i ++) {            if (i > 0) {                sent.append(", ");            }            sent.append(m_asFields[i]);            sent.append(" = ?");        }                for (int i = 0; i < m_aiIDs.length; i ++) {            sent.append((i == 0) ? " where " : " and ");            sent.append(m_asFields[m_aiIDs[i]]);            sent.append(" = ?");        }                return sent.toString();                   }        public ComparatorCreator getComparatorCreator() {        if (m_iOrderIndexes == null) {            return null;        } else {            return new ComparatorCreatorBasic(m_asFields, m_aDatas, m_iOrderIndexes);        }    }}

⌨️ 快捷键说明

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