public IDevice learnEntity(long macAddress,Short vlan,Integer ipv4Address,Long switchDPID,Integer switchPort,boolean processUpdates){
  List<IDeviceListener> listeners=deviceListeners.getOrderedListeners();
  if (!processUpdates) {
    deviceListeners.clearListeners();
  }
  if (vlan != null && vlan.shortValue() <= 0)   vlan=null;
  if (ipv4Address != null && ipv4Address == 0)   ipv4Address=null;
  IDevice res=learnDeviceByEntity(new Entity(macAddress,vlan,ipv4Address,switchDPID,switchPort,new Date()));
  if (listeners != null) {
    for (    IDeviceListener listener : listeners) {
      deviceListeners.addListener("device",listener);
    }
  }
  return res;
}

public IDevice learnEntity ( long macAddress , Short vlan , Integer ipv4Address , Long switchDPID , Integer switchPort , boolean processUpdates ) { List < IDeviceListener > listeners = deviceListeners . getOrderedListeners ( ) ; if ( ! processUpdates ) { deviceListeners . clearListeners ( ) ; } if ( vlan != null && vlan . shortValue ( ) <= 0 ) vlan = null ; if ( ipv4Address != null && ipv4Address == 0 ) ipv4Address = null ; IDevice res = learnDeviceByEntity ( new Entity ( macAddress , vlan , ipv4Address , switchDPID , switchPort , new Date ( ) ) ) ; if ( listeners != null ) { for ( IDeviceListener listener : listeners ) { deviceListeners . addListener ( "device" , listener ) ; } } return res ; }
learn a device using the given characteristics .
