class ServerInfo implements Comparable<ServerInfo> {

  public String toJsonString()
  {
    if (null == _jsonString)
    {
      StringWriter out = new StringWriter();
      ObjectMapper objMapper = new ObjectMapper();
      try
      {
        objMapper.writeValue(out, this);
        _jsonString = out.toString();
      }
      catch (Exception e)
      {
        _jsonString = "serialiationError";
      }
    }

    return _jsonString;
  }

  public  ServerInfo(String name, String state, InetSocketAddress address, List<String> sources);
  public  ServerInfo(String name, StateId state, InetSocketAddress address,
                    Collection<DatabusSubscription> subs,
                    SubscriptionUriCodec uriCodec);
  public  ServerInfo(String name, String state, InetSocketAddress address, String... sources);

}