public R bindToRequest()

in elb/src/main/java/org/jclouds/elb/binders/BindListenersToFormParams.java [41:62]


   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
      Iterable<Listener> listeners = checkNotNull(input, "listeners must be set!") instanceof Listener ? ImmutableSet
              .of(Listener.class.cast(input)) : (Iterable<Listener>) input;

      ImmutableMultimap.Builder<String, String> formParameters = ImmutableMultimap.builder();
      int listenerIndex = 1;

      for (Listener listener : listeners) {
         formParameters.put("Listeners.member." + listenerIndex + ".LoadBalancerPort", listener.getPort() + "");
         formParameters.put("Listeners.member." + listenerIndex + ".InstancePort", listener.getInstancePort() + "");
         formParameters.put("Listeners.member." + listenerIndex + ".Protocol", listener.getProtocol() + "");
         formParameters.put("Listeners.member." + listenerIndex + ".InstanceProtocol", listener.getInstanceProtocol()
                  + "");
         if (listener.getSSLCertificateId().isPresent())
            formParameters.put("Listeners.member." + listenerIndex + ".SSLCertificateId", listener
                     .getSSLCertificateId().get() + "");
         listenerIndex++;
      }

      return (R) request.toBuilder().replaceFormParams(formParameters.build()).build();

   }