Class PermStructMbr
- java.lang.Object
-
- com.automation_pros.odva.cip.data.StructMember
-
- com.automation_pros.odva.cip.data.PermStructMbr
-
- All Implemented Interfaces:
PermissionedItem
public class PermStructMbr extends StructMember implements PermissionedItem
Permissions are relatively fine-grained in Logix applications. It is possible that a structure member might be readable or writable individually, but the structure as a whole not be. To effectively optimize access, successes should propagate inward, while failures propagate outward.Inward propagation in this hierarchy is easy--the references are always present. Outward propagation from member to structure is also easy, as a StructMember's "lock" status is ownership by a StructDef. Omron structures do not have fine-grained permissions, but initialized "failures" in nested types need to propagate outward.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.automation_pros.odva.cip.data.StructMember
StructMember.MemberTypeSegment
-
Nested classes/interfaces inherited from interface com.automation_pros.odva.cip.data.PermissionedItem
PermissionedItem.LgxPermTracker
-
-
Field Summary
Fields Modifier and Type Field Description protected MemberSeg
originalMember
static org.slf4j.Logger
sLogger
protected PermissionedItem.LgxPermTracker
tracker
-
Fields inherited from class com.automation_pros.odva.cip.data.StructMember
align, bareSegment, CRCstring, documentation, hidden, hosted, hostref, index, innerstruct, maxOffset, maxSize, minOffset, minSize, name, offset, singleton, size, typeCode, typeName, typeSegment, unusedParasiteBits
-
-
Constructor Summary
Constructors Constructor Description PermStructMbr(StructMember other)
PermStructMbr(DataDefinitionSeg seg, DataContext ctx)
PermStructMbr(java.lang.String name, BaseDataType<?> data)
PermStructMbr(java.lang.String name, StructDef innerstruct, int[] innerdim)
PermStructMbr(java.lang.String name, java.lang.Class<? extends BaseDataType<?>> element, int... innerdim)
PermStructMbr(java.lang.String name, java.lang.String host, int bitnum)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MemberSeg
getOriginalMember()
PermissionedItem.LgxPermTracker
getTracker()
void
lock(StructDef owner)
void
setOriginalMember(MemberSeg originalMember)
void
setReadFailed()
void
setReadSuccess()
void
setWriteFailed()
void
setWriteSuccess()
java.lang.String
toString()
-
Methods inherited from class com.automation_pros.odva.cip.data.StructMember
checkCircular, checkParasite, docString, duplicate, getBitOffset, getDepth, getDimensions, getDocumentation, getHostref, getIndex, getInfo, getInnerOffsets, getInnerStruct, getInstance, getInstance, getMaxOffset, getMinOffset, getName, getOffset, getOwner, getSingleton, getStructByteOffset, getSymbolType, getTypeName, getUnusedParasites, getVariant, setDocumentation, setHostref, setIndex, setInnerOffsets, setMinMaxOffset, setOffset, setVariantDimension
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.automation_pros.odva.cip.data.PermissionedItem
hasReadFailed, hasReadSucceeded, hasWriteFailed, hasWriteSucceeded
-
-
-
-
Field Detail
-
sLogger
public static final org.slf4j.Logger sLogger
-
tracker
protected PermissionedItem.LgxPermTracker tracker
-
originalMember
protected MemberSeg originalMember
-
-
Constructor Detail
-
PermStructMbr
public PermStructMbr(java.lang.String name, BaseDataType<?> data)
-
PermStructMbr
public PermStructMbr(java.lang.String name, java.lang.String host, int bitnum)
-
PermStructMbr
public PermStructMbr(java.lang.String name, java.lang.Class<? extends BaseDataType<?>> element, int... innerdim)
-
PermStructMbr
public PermStructMbr(java.lang.String name, StructDef innerstruct, int[] innerdim)
-
PermStructMbr
public PermStructMbr(DataDefinitionSeg seg, DataContext ctx)
-
PermStructMbr
public PermStructMbr(StructMember other)
-
-
Method Detail
-
lock
public void lock(StructDef owner)
- Overrides:
lock
in classStructMember
-
getTracker
public PermissionedItem.LgxPermTracker getTracker()
- Specified by:
getTracker
in interfacePermissionedItem
-
getOriginalMember
public MemberSeg getOriginalMember()
-
setOriginalMember
public void setOriginalMember(MemberSeg originalMember)
-
setReadSuccess
public void setReadSuccess()
- Specified by:
setReadSuccess
in interfacePermissionedItem
-
setReadFailed
public void setReadFailed()
- Specified by:
setReadFailed
in interfacePermissionedItem
-
setWriteSuccess
public void setWriteSuccess()
- Specified by:
setWriteSuccess
in interfacePermissionedItem
-
setWriteFailed
public void setWriteFailed()
- Specified by:
setWriteFailed
in interfacePermissionedItem
-
toString
public java.lang.String toString()
- Overrides:
toString
in classStructMember
-
-