Is this a good approach for a BayeuxClient class? Is this a good approach for a BayeuxClient class?

Reading cometd reference book, Chapter 6 Java Libraries, I created this BayeuxClient class.

As a newbie to cometd, I would like to know if this class has any flaws:

import java.util.*;
import java.net.URL;
import org.cometd.client.BayeuxClient;
import org.eclipse.jetty.client.HttpClient;

public class CometD_Client extends BayeuxClient
{
    private URL BayeuxServer_URL;

    private HttpClient JettyHttpClient;

    private Map&lt;String, Object&gt; TransportOptions;

    private ClientTransport C_Transport;

    private ClientSession C_Session;

    private boolean HandIsShaken£ = false;

    private final ClientSessionChannel.MessageListener MyChannelListener;

    public CometD_Client(URL BayeuxServer_URL)
    {
        this.BayeuxServer_URL = BayeuxServer_URL;

        // Create (and eventually set up) Jetty's HttpClient;
        JettyHttpClient = new HttpClient();
        JettyHttpClient.start();

        // Prepare the transport;
        TransportOptions = new HashMap&lt;String, Object&gt;();

        ClientTransport C_Transport = 
            LongPollingTransport.create(TransportOptions, 
                                        JettyHttpClient  );

        C_Session = new BayeuxClient(URL, C_Transport);

        C_Session.handshake();

        HandIsShaken£ = 
            C_Session.waitFor(1000, BayeuxClient.State.CONNECTED);

        if(HandIsShaken£)
        {
            // TO DO: Output that the handshake had succeed;
        }
        else
        {
            // TO DO: Output that the handshake had failed;
        }

        MyChannelListener = new AChannelListener();

        C_Session.getChannel(Channel.META_HANDSHAKE).addListener
        (
         new ClientSessionChannel.MessageListener()
         {
            @Override
            public void onMessage(ClientSessionChannel ThisMetaChanel,
                                  Message msg)
            {
                // TO DO: Output msg to check it out;

                C_Session.getChannel("/myBroadcast/myChannel").subscribe
                (
                 new ClientSessionChannel.MessageListener()
                 {
                    @Override
                    public void onMessage(ClientSessionChannel ThisMetaChanel,
                                          Message msg)
                    {
                        // TO DO: Handle the received messages to this chaned;
                    }
                 }
                );
            }
         }
        );
    }

    public boolean GetIfHandIsShaken£()
    {
        return HandIsShaken£;
    }
}
I have no idea how to type the last character on my keyboard which makes modification harder:


public boolean GetIfHandIsShaken£()



It's better to use only ASCII letters.
See Effective Java, 2nd edition, Item 56: Adhere to generally accepted naming conventions and The Java Language Specification, Java SE 7 Edition, 6.1 Declarations:


  Class and Interface Type Names
  
  Names of class types should be descriptive nouns or noun phrases, not overly long, in mixed
  case with the first letter of each word capitalized.
  
  [...]
  
  Names of fields that are not final should be in mixed 
  case with a lowercase first letter and the first letters of 
  subsequent words capitalized.


CometD_Client could have a more descriptive classname too. Every CometD client could have been called CometdClient. Why is it special? Try to put that into the name.

TransportOptions = new HashMap&lt;String, Object&gt;();



This could be in the same line as the declaration:

private Map&lt;String, Object&gt; transportOptions = new HashMap&lt;String, Object&gt;();

HttpClient has a stop() method. I suppose you should call it somewhere.