View Javadoc

1   /*
2    * Copyright (c) 2006 Stiftung Deutsches Elektronen-Synchroton,
3    * Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY.
4    *
5    * THIS SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "../AS IS" BASIS.
6    * WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
7    * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE AND
8    * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
9    * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
10   * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
11   * THE USE OR OTHER DEALINGS IN THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE
12   * IN ANY RESPECT, THE USER ASSUMES THE COST OF ANY NECESSARY SERVICING, REPAIR OR
13   * CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.
14   * NO USE OF ANY SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
15   * DESY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
16   * OR MODIFICATIONS.
17   * THE FULL LICENSE SPECIFYING FOR THE SOFTWARE THE REDISTRIBUTION, MODIFICATION,
18   * USAGE AND OTHER RIGHTS AND OBLIGATIONS IS INCLUDED WITH THE DISTRIBUTION OF THIS
19   * PROJECT IN THE FILE LICENSE.HTML. IF THE LICENSE IS NOT INCLUDED YOU MAY FIND A COPY
20   * AT HTTP://WWW.DESY.DE/LEGAL/LICENSE.HTM
21   */
22  
23  package de.desy.acop.transport;
24  import java.util.Date;
25  
26  /**
27   * @version 1.0
28   * @author
29   */
30  public class AcopTransportRequest
31  {
32    private String emptyString = new String("");
33    public String deviceContext = emptyString;
34    public String deviceGroup = emptyString;
35    public String deviceName = emptyString;
36    public String deviceProperty = emptyString;
37    private Object data;
38    private Object dataEx;
39    private int arraySize;
40    private int arraySizeEx;
41    private int dataSize;
42    private int dataSizeEx;
43    private Date dataTimeStamp;
44    protected boolean pending;
45    public boolean isUnboundToData;
46    public int statusCode;
47    public String status = emptyString;
48    public AccessMode accessMode;
49    public String accessRate = emptyString;
50    public String accessProtocol = emptyString;
51    public String deviceInfo = emptyString;
52    public int accessMethod;
53    private int linkHandle;
54    private int linkIdentifier;
55    public AcopTransportCallback atc;
56    public int getLinkHandle() { return linkHandle; }
57    public int getLinkIdentifier() { return linkIdentifier; }
58    public void setLinkIdentifier(int id) { linkIdentifier = id; }
59    public void setLinkHandle(int id) { linkHandle = id; }
60    public boolean compareTo(AcopTransportRequest atr)
61    {
62      if (atr.accessMode.compareTo(accessMode) == 0 &&
63          atr.accessRate.compareTo(accessRate) == 0 &&
64          atr.accessProtocol.compareTo(accessProtocol) == 0 &&
65          atr.arraySize == arraySize &&
66          atr.arraySizeEx == arraySizeEx &&
67          atr.atc == atc &&
68          atr.data == data &&
69          atr.dataEx == dataEx &&
70          atr.deviceContext.compareTo(deviceContext) == 0 &&
71          atr.deviceGroup.compareTo(deviceGroup) == 0 &&
72          atr.deviceName.compareTo(deviceName) == 0 &&
73          atr.deviceProperty.compareTo(deviceProperty) == 0) return true;
74  
75      return false;         
76    }
77    public AcopTransportRequest cloneTransportRequest()
78    {
79      AcopTransportRequest atr = new AcopTransportRequest();
80      atr.accessMethod = accessMethod;
81      atr.accessMode = accessMode;
82      atr.accessRate = new String(accessRate);
83      atr.accessProtocol = new String(accessProtocol);
84      atr.isUnboundToData = isUnboundToData;
85      atr.arraySize = arraySize;
86      atr.arraySizeEx = arraySizeEx;
87      atr.atc = atc;
88      atr.data = data;
89      atr.dataEx = dataEx;
90      atr.deviceContext = new String(deviceContext);
91      atr.deviceGroup = new String(deviceGroup);
92      atr.deviceName = new String(deviceName);
93      atr.deviceProperty = new String(deviceProperty);
94      atr.deviceInfo = new String(deviceInfo);
95      atr.linkHandle = linkHandle;
96      atr.linkIdentifier = linkIdentifier;
97      return atr;    
98    }
99    public int getArraySize() { return arraySize; }
100   public void setArraySize(int arraySize) { this.arraySize = arraySize; }
101   public int getArraySizeEx() { return arraySizeEx; }
102   public void setArraySizeEx(int arraySizeEx) { this.arraySizeEx = arraySizeEx; }
103   public Object getData() { return data; }
104   public void setData(Object data) { this.data = data; }
105   public Object getDataEx() { return dataEx; }
106   public void setDataEx(Object dataEx) { this.dataEx = dataEx; }
107   public int getDataSize() { return dataSize; }
108   public void setDataSize(int dataSize) { this.dataSize = dataSize; }
109   public int getDataSizeEx() { return dataSizeEx; }
110   public void setDataSizeEx(int dataSizeEx) { this.dataSizeEx = dataSizeEx; }
111   public Date getDataTimeStamp() { return dataTimeStamp; }
112   public void setDataTimeStamp(Date dataTimeStamp) { this.dataTimeStamp = dataTimeStamp; }
113   public String getStatus() { return status; }
114   public void setStatus(String status) { this.status = status; }
115   public int getStatusCode() { return statusCode; }
116   public void setStatusCode(int statusCode) { this.statusCode = statusCode; }
117   public String getDeviceInfo() { return deviceInfo; }
118   public void setDeviceInfo(String deviceInfo) { this.deviceInfo = deviceInfo; }
119 
120   /**
121    * Sets this object with values from connection parameters object.
122    * @param connectionParameters values to be set
123    */
124   public void setFromParameters(ConnectionParameters connectionParameters) {
125 	    accessMode = connectionParameters.getAccessMode();
126 	    accessRate = Integer.toString(connectionParameters.getAccessRate());
127 	    accessProtocol = connectionParameters.getAccessProtocol();
128 	    deviceContext = connectionParameters.getDeviceContext();
129 	    deviceGroup = connectionParameters.getDeviceGroup();
130 	    deviceName = connectionParameters.getDeviceName();
131 	    deviceProperty = connectionParameters.getDeviceProperty();
132   }
133 }