public final class InspcStruct
extends java.lang.Object
InspcVariable
.Modifier and Type | Class and Description |
---|---|
(package private) class |
InspcStruct.VariableRxAction
This class supplies the method to set the variable value from a received info block.
|
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
bRequFields |
(package private) boolean |
bUpdated |
(package private) java.lang.Runnable |
callback
Callback for any request.
|
(package private) java.util.List<InspcFieldOfStruct> |
fields |
private java.lang.String |
path |
InspcStruct.VariableRxAction |
rxActionGetFields
Action on receiving getFields from target for each field for this structure variable.
|
private InspcVariable |
varOfStruct |
static int |
version
Version, history and license.
|
Constructor and Description |
---|
InspcStruct(InspcVariable varOfStruct,
java.lang.String path) |
Modifier and Type | Method and Description |
---|---|
java.lang.Iterable<InspcFieldOfStruct> |
fieldIter() |
(package private) boolean |
isRequestFields() |
boolean |
isUpdated() |
java.lang.String |
path() |
void |
requestFields() |
void |
requestFields(java.lang.Runnable callbackP) |
(package private) void |
rxActionGetFields(InspcDataExchangeAccess.Inspcitem info,
long time,
LogMessage log,
int identLog) |
java.lang.String |
toString() |
InspcVariable |
varOfStruct(InspcMng mng) |
public static final int version
rxActionGetFields(org.vishia.communication.InspcDataExchangeAccess.Inspcitem, long, LogMessage, int)
The property 'hasSubStruct', important for forcing getFields etc. depends now no more on the type itself (no substruct for scalar)
but from the "..." after the type in the received telegram from the target. It means the target determines whether it has a substruct. Not the type.
That is the original behavior since 2006. It is better in special situations:
A complex type don't may have sub structs if the reflection of that type are given but are hidden by access rights. It is a decision of the target,
not one of the type. The trigger for this change (back to the root) was: An access to a target via proxy with void type has failed.
varOfStruct
private InspcVariable varOfStruct
private final java.lang.String path
public final InspcStruct.VariableRxAction rxActionGetFields
#rxActionGetFields(org.vishia.communication.InspcDataExchangeAccess.Inspcitem, long)
which fills the fields
.java.util.List<InspcFieldOfStruct> fields
boolean bRequFields
boolean bUpdated
java.lang.Runnable callback
InspcStruct(InspcVariable varOfStruct, java.lang.String path)
public java.lang.String path()
public InspcVariable varOfStruct(InspcMng mng)
public void requestFields(java.lang.Runnable callbackP)
public void requestFields()
boolean isRequestFields()
public boolean isUpdated()
public java.lang.Iterable<InspcFieldOfStruct> fieldIter()
void rxActionGetFields(InspcDataExchangeAccess.Inspcitem info, long time, LogMessage log, int identLog)
public java.lang.String toString()
toString
in class java.lang.Object