tuwien.auto.calimero
Class KNXAddress

java.lang.Object
  extended by tuwien.auto.calimero.KNXAddress
Direct Known Subclasses:
GroupAddress, IndividualAddress

public abstract class KNXAddress
extends java.lang.Object

Represents a KNX address.

An address consists of a 16 Bit unsigned value. Concrete implementations of address are GroupAddress and IndividualAddress. Instances of KNXAddress are immutable.
Loading and saving KNX addresses in XML format is supported.


Method Summary
static KNXAddress create(java.lang.String address)
          Creates a KNX address from a string address representation.
static KNXAddress create(XMLReader r)
          Creates a KNX address from xml input.
 int getRawAddress()
          Returns the KNX address in 16 Bit value representation.
abstract  java.lang.String getType()
          Returns the KNX address type, identifying a group or individual address.
 void save(XMLWriter w)
          Writes the KNX address in XML format to the supplied writer.
 byte[] toByteArray()
          Returns the raw address value in a new byte array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static KNXAddress create(java.lang.String address)
                         throws KNXFormatException
Creates a KNX address from a string address representation.

An address level separator of type '.' found in address indicates an individual address, i.e. an IndividualAddress is created, otherwise a GroupAddress is created.
Allowed separators are '.' or '/', mutually exclusive.

Parameters:
address - string containing the KNX address
Returns:
the created KNX address, either of subtype GroupAddress or IndividualAddress
Throws:
KNXFormatException - thrown on unknown address type, wrong address syntax or wrong separator used

create

public static KNXAddress create(XMLReader r)
                         throws KNXMLException
Creates a KNX address from xml input.

The KNX address element is expected to be the current or next element from the parser.

Parameters:
r - a XML reader
Returns:
the created KNXAddress, either of subtype GroupAddress or IndividualAddress
Throws:
KNXMLException - if the XML element is no KNX address, on unknown address type or wrong address syntax

getRawAddress

public final int getRawAddress()
Returns the KNX address in 16 Bit value representation.

Returns:
the 16 Bit address value

getType

public abstract java.lang.String getType()
Returns the KNX address type, identifying a group or individual address.

Returns:
address type as string

save

public void save(XMLWriter w)
          throws KNXMLException
Writes the KNX address in XML format to the supplied writer.

Parameters:
w - a XML writer
Throws:
KNXMLException - on output error

toByteArray

public final byte[] toByteArray()
Returns the raw address value in a new byte array.

Returns:
The address value. The high byte of the address is placed at index 0.