Class StructMember.MemberTypeSegment
- java.lang.Object
-
- com.automation_pros.odva.cip.path.PathSegment
-
- com.automation_pros.odva.cip.path.DataDefinitionSeg
-
- com.automation_pros.odva.cip.path.DecoratedDefSeg
-
- com.automation_pros.odva.cip.data.StructMember.MemberTypeSegment
-
- All Implemented Interfaces:
java.lang.Comparable<PathSegment>
- Enclosing class:
- StructMember
public class StructMember.MemberTypeSegment extends DecoratedDefSeg
Implement a decorated type segment for members that is implicitly tied to the StructMember (see the beginning of the ultimate private StructMember constructor).This ensures that members that are hosted by or aliases into other members can get a reference to the containing structure. Via this object's .getMember(), then .getOwner().
When the member is a nested structure, instead of using the inner segment of the Decorated segment, use the nesting segment of the inner structure. We rely on the self-referential functionality in
StructDef.getNestingSeg()
.This ensures that all methods that look up the member's structure type will get the instance from innerstruct. Including type segments created on the fly by alias following.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.automation_pros.odva.cip.path.DecoratedDefSeg
DecoratedDefSeg.Decoder
-
Nested classes/interfaces inherited from class com.automation_pros.odva.cip.path.DataDefinitionSeg
DataDefinitionSeg.DataDefinitionFragment
-
Nested classes/interfaces inherited from class com.automation_pros.odva.cip.path.PathSegment
PathSegment.HasAlternateHex
-
-
Field Summary
-
Fields inherited from class com.automation_pros.odva.cip.path.DecoratedDefSeg
constantDimension, dims, documentation, inner, name, offsets, variant
-
Fields inherited from class com.automation_pros.odva.cip.path.DataDefinitionSeg
sLogger
-
Fields inherited from class com.automation_pros.odva.cip.path.PathSegment
identifierChars, segtype
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
MemberTypeSegment(DataDefinitionSeg other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DecoratedDefSeg
followIn()
Permit subclasses to substitute a new instance of themselves when following array subscripts.StructMember
getMember()
PermissionedItem
getPermItem()
Support permissions tracking as a general feature.-
Methods inherited from class com.automation_pros.odva.cip.path.DecoratedDefSeg
addDimensionToken, alignment, browseInner, compareTo, concatDimensions, concatOffsets, construct, dims, doc, duplicate, equals, follow, followOffsets, getBytes, getDims, getDocumentation, getInner, getName, getOffsets, getQty, getSize, getSizeImpl, getTokens, getVariant, hashCode, isBoolHost, isBoolImpl, isStringData, maxSize, minSize, name, nestedMaxSize, nestedMinSize, nestedSize, offsets, put, set, setDims, setDocumentation, setName, setOffsets, setVariant, simpleString, updateSegType, variant
-
Methods inherited from class com.automation_pros.odva.cip.path.DataDefinitionSeg
construct, fromClass, fromData, nestedSizeImpl
-
Methods inherited from class com.automation_pros.odva.cip.path.PathSegment
decode, decodeAll, getSegtype, getWords, hexString, mergeTokens, registerHandler, setSegtype, toString
-
-
-
-
Constructor Detail
-
MemberTypeSegment
protected MemberTypeSegment(DataDefinitionSeg other)
-
-
Method Detail
-
followIn
protected DecoratedDefSeg followIn()
Description copied from class:DecoratedDefSeg
Permit subclasses to substitute a new instance of themselves when following array subscripts.- Overrides:
followIn
in classDecoratedDefSeg
- Returns:
- A new instance with the same inner segment and no other attributes.
-
getMember
public StructMember getMember()
-
getPermItem
public PermissionedItem getPermItem()
Description copied from class:DataDefinitionSeg
Support permissions tracking as a general feature. This is overridden where appropriate.- Overrides:
getPermItem
in classDecoratedDefSeg
- Returns:
-
-