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

📄 rowdata.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.client.app.vo;

import com.google.gwt.user.client.rpc.IsSerializable;
import com.queplix.core.client.common.StringUtil;

import java.util.Arrays;

/**
 * Represent single row element, that has it's own internal id and array of strings values to be shown in grid.
 *
 * @author Sergey Kozmin
 * @since 18.10.2006, 12:00:55
 */
public class RowData implements IsSerializable {
    /**
     * Id of the records
     * If id is null it means that this row present a number of column values, but not the record in db.
     */
    private Long id;
    private String[] columns;

    public RowData(Long id, String[] columns) {
        this.id = id;
        this.columns = columns;
    }

    public RowData() {
        columns = new String[0];
    }

    /**
     * If id is null it means that this row present a number of column values, 
     * but not the record in db.
     * @return Id of the records
     */
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String[] getColumns() {
        return columns;
    }

    public void setColumns(String[] columns) {
        if(columns != null) {
            this.columns = columns;
        }
    }

    public void copyFrom(RowData data) {
        copy(data, this);
    }

    /**
     * copy r1 to r2. both objects can be changed separately.
     * @param src first instance
     * @param dest second instance
     */
    public static void copy(RowData src, RowData dest) {
        if(src == null || dest == null) {
            throw new IllegalArgumentException("Both objects could't be a null");
        }
        dest.id = (src.id != null) ? new Long(src.id.longValue()) : null;
        String[] copy = new String[src.columns.length];
        for(int i = 0; i < copy.length; i++) {
            copy[i] = src.columns[i];
        }
        dest.columns = copy;
    }

    public RowData cloneData() {
        RowData cloned = new RowData();
        copy(cloned, this);
        return cloned;
    }

    public boolean equalsToRow(RowData row) {
        boolean ret = false;
        if(row != null) {
            if(row.columns.length == columns.length
                    && (row.id != null) ? row.id.equals(id) : id == null) {
                ret = true;
                for(int i = 0; i < columns.length; i++) {
                    if(!StringUtil.isStringsEqualsIgnoreNulls(columns[i],
                            row.columns[i])) {

                        ret = false;
                        break;
                    }
                }
            }
        }
        return ret;
    }

    public String toString() {
        return "RowData{" +
                "id='" + id + '\'' +
                ", columns=" + (columns == null ? null:Arrays.asList(columns)) +
                '}';
    }
}

⌨️ 快捷键说明

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