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"); }