田源
2025-01-09 8a166a60cfd1a2e593ffa103d10c0dc224fc8628
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.vci.client.uif.actions.client;
 
/**
 * 剪切板数据类型
 * @author VCI-STGK006
 *
 * @param <T>
 */
public class ClipboardData {
    
    /**
     * 复制操作的类型
     * copy:复制
     * cut:剪切
     * @author VCI-STGK006
     *
     */
    public static enum ClipboardOperation{
        copy,
        cut
    };
    
    /**
     * 剪切版本支持的数据类型
     * BO:业务对象
     * LO:链接对象
     * OO:未知对象
     * @author VCI-STGK006
     *
     */
    public static enum ClipboardDataType {
        BO,
        LO,
        OO
    };
    
    /**
     * 复制的数据
     */
    private Object[] objects = null;
    
    /**
     * 操作的类型:复制、剪切
     */
    private ClipboardOperation co = ClipboardOperation.copy;
    
    /**
     * 复制的数据类型:BO业务对象 LOlink对象
     */
    private ClipboardDataType ct = ClipboardDataType.OO;
    
    /**
     * 适用的链接类型
     */
    private String srcLoName = "";
    
    /**
     * 复制数据对象信息
     * @param co 操作的类型:复制、剪切
     * @param ct 复制的数据类型:BO业务对象 LOlink对象
     * @param srcLoName 适用的链接类型:用于判断是否可以粘贴
     * @param objs 数据
     */
    public ClipboardData(ClipboardOperation co, ClipboardDataType ct, String srcLoName, Object[] objs){
        setContents(co, ct, srcLoName, objs);
    }
    /**
     * 获得数据
     * @return
     */
    public Object[] getData(){
        return objects;
    }
    
    /**
     * 设置复制的数据信息
     * @param co 操作的类型:复制、剪切
     * @param ct 复制的数据类型:BO业务对象 LOlink对象
     * @param srcLoName 适用的链接类型:用于判断是否可以粘贴
     * @param objs 数据
     */
    public void setContents(ClipboardOperation co, ClipboardDataType ct, String srcLoName, Object[] objs){
        this.co = co;
        this.ct = ct;
        this.srcLoName = srcLoName;
        this.objects = objs;
    }
    
    /**
     * 验证复制数据信息是否完成
     * 如果信息却是可能影响复制
     * @return
     */
    public boolean isFullData(){
        if(this.co == null){
            return false;
        } else if(this.ct == null){
            return false;
        } else if(this.srcLoName == null || this.srcLoName.equals("")){
            return false;
        } else if(this.objects == null || this.objects.length < 1){
            return false;
        }
        return true;
    }
 
    public ClipboardOperation getCo() {
        return co;
    }
 
    public void setCo(ClipboardOperation co) {
        this.co = co;
    }
 
    public ClipboardDataType getCt() {
        return ct;
    }
 
    public void setCt(ClipboardDataType ct) {
        this.ct = ct;
    }
 
    public String getSrcLoName() {
        return srcLoName;
    }
 
    public void setSrcLoName(String srcLoName) {
        this.srcLoName = srcLoName;
    }
}