tuwien.auto.calimero.mgmt
Interface PropertyAdapter

All Known Implementing Classes:
KnIPDeviceMgmtAdapter, RemotePropertyServiceAdapter

public interface PropertyAdapter

Adapter hiding protocol specifics and internals of accessing interface object properties.

A property adapter is created for one communication partner (KNX device, KNXnet/IP router).
If close() is called by a user on an open adapter, all methods which do interface object property access are allowed to throw KNXIllegalStateException if invoked on that closed adapter.


Method Summary
 void close()
          Closes the adapter.
 byte[] getDescription(int objIndex, int pid, int propIndex)
          Reads the description of a property of an interface object.
 java.lang.String getName()
          Returns the name for identifying this adapter and its destination.
 byte[] getProperty(int objIndex, int pid, int start, int elements)
          Gets property value elements in an interface object property.
 boolean isOpen()
          Returns whether this adapter can be used for property access and is not closed.
 void setProperty(int objIndex, int pid, int start, int elements, byte[] data)
          Sets property value elements in an interface object property.
 

Method Detail

close

void close()
Closes the adapter.

Depending on the adapter, necessary steps to terminate a connection might be done and owned resources will be freed.
A closed adapter can't be used for property access anymore.
Currently, this method does not invoke PropertyAdapterListener.adapterClosed(tuwien.auto.calimero.CloseEvent).


getDescription

byte[] getDescription(int objIndex,
                      int pid,
                      int propIndex)
                      throws KNXException
Reads the description of a property of an interface object.

The property description layout is according the application layer property description service.

Parameters:
objIndex - interface object index
pid - property identifier, specify 0 to use the property index
propIndex - property index, starts with index 0 for the first property
Returns:
byte array containing the property description, starting with the property object index
Throws:
KNXException - on error getting the property description
KNXIllegalStateException - if adapter was already closed

getName

java.lang.String getName()
Returns the name for identifying this adapter and its destination.

Returns:
adapter name as string

getProperty

byte[] getProperty(int objIndex,
                   int pid,
                   int start,
                   int elements)
                   throws KNXException
Gets property value elements in an interface object property.

Parameters:
objIndex - interface object index
pid - property identifier
start - start index in the property value to start reading from
elements - number of elements to get
Returns:
byte array containing the property value data
Throws:
KNXException - on error getting the interface object property
KNXIllegalStateException - if adapter was already closed

isOpen

boolean isOpen()
Returns whether this adapter can be used for property access and is not closed.

Returns:
true if adapter open, false if closed

setProperty

void setProperty(int objIndex,
                 int pid,
                 int start,
                 int elements,
                 byte[] data)
                 throws KNXException
Sets property value elements in an interface object property.

Parameters:
objIndex - interface object index
pid - property identifier
start - start index in the property value to start writing to
elements - number of elements to set
data - byte array containing the property value data
Throws:
KNXException - on error setting the interface object property
KNXIllegalStateException - if adapter was already closed