java - Access the object Inside Anonymous Handler function -


i have basic question. have started vertx framework. there 1 thing not able understand like

vertx.createnetserver().connecthandler(new handler<netsocket>() { @override public void handle(final netsocket socket) {      socket.datahandler(new handler<buffer>() {         public void handle(buffer buffer) {             /* can access socket object inside handler */             socket.write("hello");         }     }); } }).listen(1234); 

but if write handler function separately this

handler<message> sockethandler = new handler<buffer>() {         public void handle(buffer buffer) {             /* how can access socket object */             socket.write("hello"); //this give error not recognize socket object         }     };   vertx.createnetserver().connecthandler(new handler<netsocket>() { @override public void handle(final netsocket socket) {     socket.datahandler(sockethandler);//now write handler separately } }).listen(1234); 

handler can anywhere in same java class or other java class. please me me how can write handler separately , still access socket object.

in second example, you're not passing socket sockethandler, cannot expect sockethandler know it.

you solve creating method createsockethandler(final socket socket) returns handler<message> , replaces sockethandler variable.

to learn more, , find out why need socket final, "anonymous inner classes"


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -