Hi guys, its been a while since I opened this thread. I am sorry for my late answer but I was very busy lately..
I have followed the call @terrypacker has mentioned and wanted to let you konw how I implemnted my BACnetDevice class which extends from the RemoteDevice back then. I am sure there is a better way but for me it is working. I guess that there are not many cases in which someone really needs to "extend" from Remotedevice.
But...
I'll have a closer look in the next weeks cause I'll do a littlebit refactoring in my code, if I can get a better solution I'll post the progress here. Just in case someone needs to know :)
So my current implementation:
In the constructor of my own class I am forcing to implement the missing properties.
public BACnetDevice(LocalDevice localDevice, int instanceNumber, Address address, Segmentation segmentation,
int vendorIdentifier,int maxAPDULengthAccepted) {
super(localDevice, instanceNumber, address);
this.setDeviceProperty(PropertyIdentifier.maxApduLengthAccepted, new UnsignedInteger(maxAPDULengthAccepted));
this.setDeviceProperty(PropertyIdentifier.segmentationSupported, segmentation);
this.setDeviceProperty(PropertyIdentifier.vendorIdentifier, new UnsignedInteger(vendorIdentifier));
}
By the listener I am fetching the needed properties from the existing instanz
@Override
public void iAmReceived(RemoteDevice d) {
BACnetDevice bacnetDevice = new BACnetDevice(localDevice, d.getInstanceNumber(), d.getAddress(),
d.getSegmentationSupported(), d.getVendorIdentifier(), d.getMaxAPDULengthAccepted());
waitingRoomBacnetDevices.put(bacnetDevice.getInstanceNumber(), bacnetDevice);
LOG.info("Remote device " + d.getInstanceNumber() + " registered in waiting room of LocalDevice");
}