Package com.ed.edcom
Class ADspData
java.lang.Object
com.ed.edcom.ADspData
This is the base class for representation of embedded data.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final ByteBuffer
Internal byte buffer, r/wprotected final ByteBuffer
Internal byte buffer, r/wprotected final byte[]
Internal byte arrays, r/wprotected final byte[]
Internal byte arrays, r/wint
Identifier 1int
Identifier 2 -
Constructor Summary
ConstructorDescriptionADspData
(String name, int varSize, DspVarListener listner, long refreshPeriod) Class constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add change listener.boolean
canRead()
Can read data according to user permissions?boolean
canReadAfterModify
(long delay) Use to avoid reading immediately after modification.boolean
canWrite()
Can write data according to user permissions?void
enableReqOptionalField
(boolean b) Enable optional request field (Must be supported by dsp variable!)byte
getByte
(int ix) Get byte by index.byte[]
getBytes()
Get all bytes.abstract Object
getValue()
Get variable value.boolean
Test if value has changed.boolean
isValid()
Validity check according to selected time period.void
refresh()
Put refresh request and clear refresh timestamp.long
Get refresh timestamp.void
setKey2
(int val) Set key 2.void
Set modification time to now.void
setReqOptionalField
(int val) Set optional request field (Must be supported by dsp variable!)void
Set additional embedded variable to read simultaneously.void
setValidPeriod
(long tp) Set time period for validity check.
-
Field Details
-
externalKey1
public int externalKey1Identifier 1 -
externalKey2
public int externalKey2Identifier 2 -
data
protected final byte[] dataInternal byte arrays, r/w -
data_set
protected final byte[] data_setInternal byte arrays, r/w -
bufRead
Internal byte buffer, r/w -
bufWrite
Internal byte buffer, r/w
-
-
Constructor Details
-
ADspData
public ADspData(String name, int varSize, DspVarListener listner, long refreshPeriod) throws Exception Class constructor.- Parameters:
name
- variable name (according to embedded software)varSize
- bytes lengthlistner
- on change listenerrefreshPeriod
- required refresh period in milliseconds, '0' - no periodic refresh required.- Throws:
Exception
- wrong parameters
-
-
Method Details
-
canRead
public boolean canRead()Can read data according to user permissions?- Returns:
- true if reading is permitted
-
canWrite
public boolean canWrite()Can write data according to user permissions?- Returns:
- true if writing is permitted
-
getValue
Get variable value.- Returns:
- Object representing variable value
-
setValidPeriod
public void setValidPeriod(long tp) Set time period for validity check.- Parameters:
tp
- time in milliseconds
-
isValid
public boolean isValid()Validity check according to selected time period.- Returns:
- true if valid
-
refreshTime
public long refreshTime()Get refresh timestamp.- Returns:
- last refresh timestamp in milliseconds
-
refresh
public void refresh()Put refresh request and clear refresh timestamp. (Use 'refreshTime() != 0' to check data was refreshed) -
canReadAfterModify
public boolean canReadAfterModify(long delay) Use to avoid reading immediately after modification.- Parameters:
delay
- time in milliseconds- Returns:
- true if delay after write is complete
-
setModifiedNow
public void setModifiedNow()Set modification time to now. Use if value affected indirect. To prevent unnecessary reading immediately after modification use canReadAfterModify(). -
hasChanged
public boolean hasChanged()Test if value has changed.- Returns:
- true if modification not complete
-
addListener
Add change listener.- Parameters:
vl
- listener
-
setKey2
public void setKey2(int val) Set key 2.- Parameters:
val
- new key 2 value
-
setSynchReadDspVar
Set additional embedded variable to read simultaneously. Use if some data items must be simultaneously read (single TCP/IP message) to prevent data interference by a multi client server.- Parameters:
dv
- variable to read simultaneously
-
enableReqOptionalField
public void enableReqOptionalField(boolean b) Enable optional request field (Must be supported by dsp variable!)- Parameters:
b
- true to enable optional field
-
setReqOptionalField
public void setReqOptionalField(int val) Set optional request field (Must be supported by dsp variable!)- Parameters:
val
- value of request field
-
getByte
public byte getByte(int ix) Get byte by index.- Parameters:
ix
- byte number (0 first)- Returns:
- one byte
-
getBytes
public byte[] getBytes()Get all bytes.- Returns:
- copy of internal byte array
-