public GatewayReceiverFunctionArgs(GatewayReceiver configuration, Boolean ifNotExists) { this.manualStart = configuration.isManualStart(); this.startPort = configuration.getStartPort() != null ? Integer.valueOf(configuration.getStartPort()) : null; this.endPort = configuration.getEndPort() != null ? Integer.valueOf(configuration.getEndPort()) : null; this.bindAddress = configuration.getBindAddress(); this.socketBufferSize = configuration.getSocketBufferSize() != null ? Integer.valueOf(configuration.getSocketBufferSize()) : null; this.maximumTimeBetweenPings = configuration.getMaximumTimeBetweenPings() != null ? Integer.valueOf(configuration.getMaximumTimeBetweenPings()) : null; this.gatewayTransportFilters = configuration.getGatewayTransportFilters() != null ? configuration.getGatewayTransportFilters().stream().map(DeclarableType::getClassName) .toArray(String[]::new) : null; this.hostnameForSenders = configuration.getHostnameForSenders(); this.ifNotExists = ifNotExists; }