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

📄 eqlresrecord.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
字号:
/* * Copyright 2006-2007 Queplix Corp. * * Licensed under the Queplix Public License, Version 1.1.1 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.queplix.com/solutions/commercial-open-source/queplix-public-license/ * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */package com.queplix.core.modules.eql;import java.util.ArrayList;import java.util.List;/** * <p>EQL Response Record object</p> * @author Baranov Andrey [ALB] * @version $Revision: 1.1.1.1 $ $Date: 2005/09/12 15:30:21 $ */public class EQLResRecord    implements java.io.Serializable {    private EQLResCell[] data;    private List eqlDResList;    private boolean doInsert = false;    private boolean doUpdate = false;    private boolean doDelete = false;    /**     * Constructor     * @param isNew is new record flag     * @param size cty of cells     */    public EQLResRecord( boolean isNew, int size ) {        data = new EQLResCell[size];        unmark();        if( isNew ) {            markAsInsert();        }    }    //    // Special builder methods    //    /**     * Add cell to the special position <code>index</code>.     * @param resCell EQLResCell     * @param index int     */    public void addData( EQLResCell resCell, int index ) {        data[index] = resCell;    }    /**     * Insert new cell to the end.     * @param resCell EQLResCell     */    public void insertData( EQLResCell resCell ) {        int length = data.length;        EQLResCell[] __data = new EQLResCell[length + 1];        System.arraycopy( data, 0, __data, 0, length );        data = __data;        addData( resCell, length );    }    /**     * Add dataset response.     * @param dRes EQLDRes     */    public void addDRes( EQLDRes dRes ) {        if( eqlDResList == null ) {            eqlDResList = new ArrayList();        }        eqlDResList.add( dRes );    }    /**     * Get cels count.     * @return int     */    public int size() {        return data.length;    }    /**     * Get dataset responses count.     * @return int     */    public int getDResSize() {        if( eqlDResList != null ) {            return eqlDResList.size();        } else {            return 0;        }    }    /**     * Get EQLObject by position <code>pos</code>.     * @param pos int     * @return EQLObject     */    public EQLObject getEQLObject( int pos ) {        return getResCell( pos ).getEQLObject();    }    /**     * Get listref EQLObject by position <code>pos</code>.     * @param pos int     * @return EQLObject     */    public EQLObject getEQLListObject( int pos ) {        EQLResCell listResCell = getResCell( pos ).getListField();        if( listResCell != null ) {            return listResCell.getEQLObject();        } else {            return null;        }    }    /**     * Get cell by position <code>pos</code>.     * @param pos int     * @return EQLResCell     */    public EQLResCell getResCell( int pos ) {        return data[pos];    }    /**     * Get cell by field <code>reqField</code>.     * @param reqField EQLReqField     * @return EQLResCell     */    public EQLResCell getResCell( EQLReqField reqField ) {        return getResCell( reqField, 0 );    }    /**     * Get cell by field <code>reqField</code> and starts from <code>startPos</code>.     * @param reqField EQLReqField     * @param startPos int     * @return EQLResCell     */    public EQLResCell getResCell( EQLReqField reqField, int startPos ) {        for( int i = startPos; i < data.length; i++ ) {            EQLResCell resCell = data[i];            // Check if resCell is not NULL and compare EQLReqField objects            if( resCell != null && resCell.getReqField().equals( reqField ) ) {                return resCell;            }        }        return null;    }    /**     * Get dataset response by position <code>pos</code>.     * @param pos int     * @return EQLDRes     */    public EQLDRes getDRes( int pos ) {        if( eqlDResList == null ) {            throw new IndexOutOfBoundsException( "List is empty" );        }        return( EQLDRes ) eqlDResList.get( pos );    }    /**     * Get dataset response by datatset <code>reqDataset</code>.     * @param reqDataset EQLReqDataset     * @return EQLDRes     */    public EQLDRes getDRes( EQLReqDataset reqDataset ) {        for( int i = 0; i < getDResSize(); i++ ) {            EQLDRes dRes = ( EQLDRes ) eqlDResList.get( i );            if( dRes.getReqDataset().equals( reqDataset ) ) {                return dRes;            }        }        return null;    }    /*     * No javadoc     * @see Object#hashCode     */    public int hashCode() {        return data.hashCode() | eqlDResList.hashCode();    }    /*     * No javadoc     * @see Object#equals     */    public boolean equals( Object o ) {        if( o == null || ! ( o instanceof EQLResRecord ) ) {            return false;        }        if( o == this ) {            return true;        }        EQLResRecord obj = ( EQLResRecord ) o;        return data.equals( obj.data ) && eqlDResList.equals( obj.eqlDResList );    }    /*     * No javadoc     * @see Object#toString     */    public String toString() {        return "data: " + data + "\nDRes list: [" + eqlDResList + "]";    }    //    // Set current record status    //    protected void unmark() {        doDelete = doInsert = doUpdate = false;    }    public void markAsDelete() {        doDelete = true;        doInsert = doUpdate = false;        // delete all datasets too        for( int i = 0; i < getDResSize(); i++ ) {            ( ( EQLDRes ) eqlDResList.get( i ) ).markAllAsDelete();        }    }    public void markAsUpdate() {        doUpdate = true;        doInsert = doDelete = false;        // update all datasets too        for( int i = 0; i < getDResSize(); i++ ) {            ( ( EQLDRes ) eqlDResList.get( i ) ).markAllAsUpdate();        }    }    public void markAsInsert() {        doInsert = true;        doUpdate = doDelete = false;        // insert all datasets too        for( int i = 0; i < getDResSize(); i++ ) {            ( ( EQLDRes ) eqlDResList.get( i ) ).markAllAsInsert();        }    }    //    // Get current record status    //    public boolean isChanged() {        // check flags        if( doUpdate || doInsert ) {            return true;        }        // check fields        for( int i = 0; i < size(); i++ ) {            if( getResCell( i ).isValueChanged() ) {                return true;            }        }        // check datasets        for( int i = 0; i < getDResSize(); i++ ) {            if( ( ( EQLDRes ) eqlDResList.get( i ) ).isChanged() ) {                return true;            }        }        return false;    }    //    // Reset record status    //    public void resetStatus() {        unmark();    }    //    // Record is new?    //    public boolean isNew() {        return doInsert;    }    //    // Delete record?    //    public boolean doDelete() {        return doDelete;    }    public boolean doUpdate() {        return doUpdate;    }    boolean doInsert() {        return doInsert;    }    public void setDoUpdate( boolean update ) {        doUpdate = update;    }}

⌨️ 快捷键说明

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