Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2014 Spotify AB.
   *
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package com.spotify.helios.common.descriptors;
 
 
 
 import java.util.List;

Note: When this is used as a map key, it shows up as
name/protocol
instead. Otherwise, a typical JSON representation might be:
 {
   "name" : "admin",
   "protocol" : "http"
 }
 
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class ServiceEndpoint extends Descriptor implements Comparable<ServiceEndpoint> {
 
   public static final String UDP = "udp";
   public static final String TCP = "tcp";
   public static final String HTTP = "http";
 
   private final String name;
   private final String protocol;
 
   public ServiceEndpoint(final String s) {
     final List<Stringparts = Splitter.on('/').splitToList(s);
     if (parts.size() < 1 || parts.size() > 2) {
       throw new IllegalArgumentException();
     }
      = parts.get(0);
      = parts.size() > 1 ? parts.get(1) : ;
   }
 
   public ServiceEndpoint(@JsonProperty("name"final String name,
                          @JsonProperty("protocol"final String protocol) {
     this. = name;
     this. = protocol;
   }
 
   public String getName() {
     return ;
   }
 
   public String getProtocol() {
     return ;
   }
 
   @Override
   public int compareTo(final ServiceEndpoint o) {
     return toString().compareTo(o.toString());
   }
 
   @Override
   public boolean equals(final Object o) {
     if (this == o) {
       return true;
     }
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
 
     final ServiceEndpoint that = (ServiceEndpointo;
 
     if ( != null ? !.equals(that.name) : that.name != null) {
       return false;
     }
     if ( != null ? !.equals(that.protocol) : that.protocol != null) {
       return false;
     }
 
     return true;
   }
  public int hashCode() {
    int result =  != null ? .hashCode() : 0;
    result = 31 * result + ( != null ? .hashCode() : 0);
    return result;
  }
  public String toString() {
    return  + "/" + ;
  }
  public static Builder newBuilder() {
    return new Builder();
  }
  public Builder toBuilder() {
    return new Builder(this);
  }
  public static ServiceEndpoint of(final String servicefinal String proto) {
    return new ServiceEndpoint(serviceproto);
  }
  public static class Builder {
    private String name;
    private String protocol;
    public Builder() {
    }
    private Builder(final ServiceEndpoint serviceEndpoint) {
      this. = serviceEndpoint.name;
      this. = serviceEndpoint.protocol;
    }
    public Builder setName(final String name) {
      this. = name;
      return this;
    }
    public Builder setProtocol(final String protocol) {
      this. = protocol;
      return this;
    }
    public ServiceEndpoint build() {
      return new ServiceEndpoint();
    }
  }
New to GrepCode? Check out our FAQ X