Package com.ed.edcom
Class ADspData
- java.lang.Object
-
- com.ed.edcom.ADspData
-
-
Field Summary
Fields Modifier and Type Field Description protected java.nio.ByteBuffer
bufRead
Internal byte buffer, r/wprotected java.nio.ByteBuffer
bufWrite
Internal byte buffer, r/wprotected byte[]
data
Internal byte arrays, r/wprotected byte[]
data_set
Internal byte arrays, r/wint
externalKey1
Identifier 1int
externalKey2
Identifier 2
-
Constructor Summary
Constructors Constructor Description ADspData(java.lang.String name, int varSize, DspVarListener listner, long refreshPeriod)
Class constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addListener(DspVarListener vl)
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 java.lang.Object
getValue()
Get variable value.boolean
hasChanged()
Test if value has changed.boolean
isValid()
Validity check according to selected time period.void
refresh()
Put refresh request and clear refresh timestamp.long
refreshTime()
Get refresh timestamp.void
setKey2(int val)
Set key 2.void
setModifiedNow()
Set modification time to now.void
setReqOptionalField(int val)
Set optional request field (Must be supported by dsp variable!)void
setSynchReadDspVar(ADspData dv)
Set additional embedded variable to read simultaneously.void
setValidPeriod(long tp)
Set time period for validity check.
-
-
-
Field Detail
-
externalKey1
public int externalKey1
Identifier 1
-
externalKey2
public int externalKey2
Identifier 2
-
data
protected final byte[] data
Internal byte arrays, r/w
-
data_set
protected final byte[] data_set
Internal byte arrays, r/w
-
bufRead
protected final java.nio.ByteBuffer bufRead
Internal byte buffer, r/w
-
bufWrite
protected final java.nio.ByteBuffer bufWrite
Internal byte buffer, r/w
-
-
Constructor Detail
-
ADspData
public ADspData(java.lang.String name, int varSize, DspVarListener listner, long refreshPeriod) throws java.lang.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:
java.lang.Exception
- wrong parameters
-
-
Method Detail
-
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
public abstract java.lang.Object 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
public void addListener(DspVarListener vl)
Add change listener.- Parameters:
vl
- listener
-
setKey2
public void setKey2(int val)
Set key 2.- Parameters:
val
- new key 2 value
-
setSynchReadDspVar
public void setSynchReadDspVar(ADspData dv)
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
-
-