Class AliasDefSeg
- java.lang.Object
-
- com.automation_pros.odva.cip.path.PathSegment
-
- com.automation_pros.odva.cip.path.DataDefinitionSeg
-
- com.automation_pros.odva.cip.path.AliasDefSeg
-
- All Implemented Interfaces:
java.lang.Comparable<PathSegment>
public class AliasDefSeg extends DataDefinitionSeg
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AliasDefSeg.Decoder
Decode bytes expected to contain one encoded path segment.static class
AliasDefSeg.Parser
-
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 Modifier and Type Field Description protected CipPath
aliasOf
DecoratedDefSeg
resolvesTo
-
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 Constructor Description AliasDefSeg()
AliasDefSeg(java.util.List<PathSegment> selectors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
alignment(DataContext ctx)
Alignment is normally the natural size of a primitive element.int
compareTo(PathSegment o)
protected BaseDataType<?>
construct(int[] dimensions, DataContext ctx)
Aliases are only constructed when accessed individually, when they behave as a solo target.boolean
equals(java.lang.Object o)
java.util.List<PathSegment>
getAliasOf()
int
getBytes()
Obtain the number of bytes needed to encode this segment instance in packed format.int
getSizeImpl(DataContext ctx)
Return the number of bytes occupied by a single instance of the given data type.java.util.List<java.lang.String>
getTokens()
int
hashCode()
int
maxSize(DataContext ctx)
Some data types need to offer a range of sizes for the encoded form of their data.int
minSize(DataContext ctx)
Some data types need to offer a range of sizes for the encoded form of their data.void
put(java.nio.ByteBuffer dest, boolean padded)
Encode the current instance to the given destination.PathSegment
set(java.nio.ByteBuffer source, boolean padded)
Replace the current instance content with the decoded source bytes.void
setAliasOf(java.util.List<PathSegment> aliasOf)
java.lang.String
simpleString()
Supply s simple descriptive name usable when browsing a hierarchy.-
Methods inherited from class com.automation_pros.odva.cip.path.DataDefinitionSeg
browseInner, construct, follow, followOffsets, fromClass, fromData, getPermItem, getSize, isBoolHost, isBoolImpl, isStringData, nestedMaxSize, nestedMinSize, nestedSize, nestedSizeImpl
-
Methods inherited from class com.automation_pros.odva.cip.path.PathSegment
decode, decodeAll, getSegtype, getWords, hexString, mergeTokens, registerHandler, setSegtype, toString
-
-
-
-
Field Detail
-
aliasOf
protected CipPath aliasOf
-
resolvesTo
public DecoratedDefSeg resolvesTo
-
-
Constructor Detail
-
AliasDefSeg
public AliasDefSeg()
-
AliasDefSeg
public AliasDefSeg(java.util.List<PathSegment> selectors)
-
-
Method Detail
-
getAliasOf
public java.util.List<PathSegment> getAliasOf()
-
setAliasOf
public void setAliasOf(java.util.List<PathSegment> aliasOf)
-
getSizeImpl
public int getSizeImpl(DataContext ctx)
Description copied from class:DataDefinitionSeg
Return the number of bytes occupied by a single instance of the given data type. When the data is indirect, size is zero. When the data is variable length, size is -1;- Specified by:
getSizeImpl
in classDataDefinitionSeg
- Returns:
- Number of bytes.
-
minSize
public int minSize(DataContext ctx)
Description copied from class:DataDefinitionSeg
Some data types need to offer a range of sizes for the encoded form of their data. The common case is fixed.- Overrides:
minSize
in classDataDefinitionSeg
- Returns:
-
maxSize
public int maxSize(DataContext ctx)
Description copied from class:DataDefinitionSeg
Some data types need to offer a range of sizes for the encoded form of their data. The common case is fixed.- Overrides:
maxSize
in classDataDefinitionSeg
- Returns:
-
alignment
public int alignment(DataContext ctx)
Description copied from class:DataDefinitionSeg
Alignment is normally the natural size of a primitive element. Structured types and variable length types must override this method.- Overrides:
alignment
in classDataDefinitionSeg
- Returns:
-
construct
protected BaseDataType<?> construct(int[] dimensions, DataContext ctx)
Aliases are only constructed when accessed individually, when they behave as a solo target.- Specified by:
construct
in classDataDefinitionSeg
- Parameters:
dimensions
-ctx
-- Returns:
-
compareTo
public int compareTo(PathSegment o)
- Specified by:
compareTo
in interfacejava.lang.Comparable<PathSegment>
- Overrides:
compareTo
in classPathSegment
-
simpleString
public java.lang.String simpleString()
Description copied from class:PathSegment
Supply s simple descriptive name usable when browsing a hierarchy. A simple type name for elementary types, a non-detailed description for complex types.- Specified by:
simpleString
in classPathSegment
- Returns:
-
set
public PathSegment set(java.nio.ByteBuffer source, boolean padded)
Description copied from class:PathSegment
Replace the current instance content with the decoded source bytes.The caller must ensure that the instance is appropriate for the bytes supplied. This permits instance re-use in optimized applications.
- Specified by:
set
in classPathSegment
- Parameters:
source
- The bytes to be decoded. The position will be left after the last byte of the decoded segment.padded
- Alternate format selection. Packed format when false.- Returns:
- The same instance.
-
put
public void put(java.nio.ByteBuffer dest, boolean padded)
Description copied from class:PathSegment
Encode the current instance to the given destination.- Specified by:
put
in classPathSegment
- Parameters:
dest
- The buffer receiving the complete encoded instance.padded
- Alternate format selection. Packed format when false.
-
getBytes
public int getBytes()
Description copied from class:PathSegment
Obtain the number of bytes needed to encode this segment instance in packed format.- Specified by:
getBytes
in classPathSegment
- Returns:
- Number of bytes, assuming put() will be called with padded false.
-
getTokens
public java.util.List<java.lang.String> getTokens()
- Specified by:
getTokens
in classPathSegment
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classPathSegment
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-