Class CipAttribute
- java.lang.Object
-
- com.automation_pros.odva.cip.types.CipTree
-
- com.automation_pros.odva.cip.types.CipTreeCtx
-
- com.automation_pros.odva.cip.types.CipObject
-
- com.automation_pros.odva.cip.core.CipAttribute
-
- All Implemented Interfaces:
DataContext
,DataWrapper
- Direct Known Subclasses:
Assembly.MemberList
,AttributeRO
,CipAttribute.Proxy
,ConnectableAttr
,IndirectAttr
public class CipAttribute extends CipObject implements DataWrapper
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CipAttribute.Proxy
-
Nested classes/interfaces inherited from class com.automation_pros.odva.cip.types.CipObject
CipObject.FutureMultipleReply
-
Nested classes/interfaces inherited from class com.automation_pros.odva.cip.types.CipTree
CipTree.ChildMap
-
-
Field Summary
-
Fields inherited from class com.automation_pros.odva.cip.types.CipTree
children, objEPath, parent, segment
-
Fields inherited from interface com.automation_pros.odva.cip.data.DataContext
emptyContext
-
-
Constructor Summary
Constructors Modifier Constructor Description CipAttribute(PathSegment seg, AttributeHolder parent, BaseDataType<?> data, java.lang.String name)
protected
CipAttribute(PathSegment seg, AttributeHolder parent, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
bytes()
int
compareTo(CipAttribute attr)
BaseDataType<?>
getData()
Many CIP objects wrap a CIP data type.AttributeHolder
getHolder()
int
intValue()
boolean
isReadOnly()
int
number()
void
put(java.nio.ByteBuffer dest)
void
putType(java.nio.ByteBuffer dest)
void
service(CipObject appContext, CipRequest request, int nesting)
Execute a CIP service on the object, using the request supplied.void
set(java.nio.ByteBuffer source)
protected void
setData(BaseDataType<?> data)
-
Methods inherited from class com.automation_pros.odva.cip.types.CipObject
executor, getChild, getDevice, getDisplayName, getName, getParent, isShutdown, logger, onReplacement, removeChildSymbol, scheduler, setChild, setChildSymbol, setName, setParent, shutdown, toString
-
Methods inherited from class com.automation_pros.odva.cip.types.CipTreeCtx
getCtxDataImpl, getNamedDef, getParentDataCtx, getTypeByCRC, getTypeByName, getTypesImpl
-
Methods inherited from class com.automation_pros.odva.cip.types.CipTree
cleanup, entrySet, follow, getChildren, getEPath, getEPathImpl, getSegment, keySet, removeChild, setSegment
-
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.DataContext
fromEnum, getCtxData, getCtxDataOrNull, getTypes, makeHosted, makeUnhosted, toEnum
-
-
-
-
Constructor Detail
-
CipAttribute
protected CipAttribute(PathSegment seg, AttributeHolder parent, java.lang.String name)
-
CipAttribute
public CipAttribute(PathSegment seg, AttributeHolder parent, BaseDataType<?> data, java.lang.String name)
-
-
Method Detail
-
bytes
public int bytes()
-
intValue
public int intValue()
-
isReadOnly
public boolean isReadOnly()
-
number
public int number()
-
compareTo
public int compareTo(CipAttribute attr)
-
service
public void service(CipObject appContext, CipRequest request, int nesting)
Description copied from class:CipObject
Execute a CIP service on the object, using the request supplied. Supply a reply to the request and/or throw an appropriate CipException. Replies are not required before this routine returns.
Direct service() calls MUST NOT BLOCK. Any operation that will take any significant time must be delegated to an executor. "Significant" may vary by application, but typically would be in the fractional millisecond range.
- Overrides:
service
in classCipObject
- Parameters:
appContext
- Root object for application path lookups. Generally aMirrored Device
from a port context.request
- What to do and where to reply. Services to be handled by child objects are to be passed to their service() method with nesting+1.nesting
- How many leading path segments items to skip when processing this request. Avoids copying the balance of an application path into a new request when passing a request to a child object.
-
set
public void set(java.nio.ByteBuffer source)
-
put
public void put(java.nio.ByteBuffer dest)
-
putType
public void putType(java.nio.ByteBuffer dest)
-
getData
public BaseDataType<?> getData()
Description copied from interface:DataWrapper
Many CIP objects wrap a CIP data type. This interface allows the member resolver to access fragments of complex wrapped data in a uniform way.- Specified by:
getData
in interfaceDataWrapper
- Returns:
-
setData
protected void setData(BaseDataType<?> data)
-
getHolder
public AttributeHolder getHolder()
-
-