title: Need help with callbacks and anonymous classes in Java
body: <p>I am using some third party library to connect to a server via async protocol and get response back. For example method to get userid by username looks like this:</p>
  
  <pre><code>public int getUserid(String username) {
          int userid = 0;
  
      connection.call("getUserid", new Responder() {
          public void onResult(final int result) {
              System.out.println("userid: " + result);
              //how to assign received value to userid and return it?
          }
      }, username);
  
      //wait for response
      while (userid == 0) {
              try{
                  Thread.sleep(100);
              } catch (Exception e) {}
          }
  
  
          return userid;
  }
  </code></pre>
  
  <p>The problem is I can't assign returned "result" from server response to "userid" variable from the method (in order to return it after). How to solve this? I probably can assign it to some class variable rather than method variable but I want to keep it within method scope so I don't have to deal with concurrency issues.</p>
  
  <p>Thanks.</p>