Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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 org.jclouds.cloudstack.domain;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.Map;
 import java.util.Set;
 
 
Class NetworkService

Author(s):
Adrian Cole
 
 public class NetworkService implements Comparable<NetworkService> {
 
    public static class Capability implements Comparable<Capability> {
 
       public static Builder<?> builder() {
          return new ConcreteBuilder();
       }
 
       public Builder<?> toBuilder() {
          return new ConcreteBuilder().fromCapability(this);
       }
 
       public abstract static class Builder<T extends Builder<T>> {
          protected abstract T self();
 
          protected String name;
          protected String value;

         
 
          public T name(String name) {
             this. = name;
             return self();
          }

         
 
          public T value(String value) {
             this. = value;
             return self();
          }
 
          public Capability build() {
             return new Capability();
          }
 
          public T fromCapability(Capability in) {
             return this
                   .name(in.getName())
                   .value(in.getValue());
          }
 
       }
 
       private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
          @Override
          protected ConcreteBuilder self() {
             return this;
          }
       }
 
       private final String name;
       private final String value;
 
       @ConstructorProperties({
             "name""value"
       })
       protected Capability(String name, @Nullable String value) {
          this. = checkNotNull(name"name");
         this. = value;
      }
      public String getName() {
         return this.;
      }
      @Nullable
      public String getValue() {
         return this.;
      }
      @Override
      public int hashCode() {
         return Objects.hashCode();
      }
      @Override
      public boolean equals(Object obj) {
         if (this == objreturn true;
         if (obj == null || getClass() != obj.getClass()) return false;
         Capability that = Capability.class.cast(obj);
         return Objects.equal(this.that.name)
               && Objects.equal(this.that.value);
      }
      protected ToStringHelper string() {
         return Objects.toStringHelper(this)
               .add("name").add("value");
      }
      @Override
      public String toString() {
         return string().toString();
      }
      @Override
      public int compareTo(Capability o) {
         return .compareTo(o.getName());
      }
   }
   public static Builder<?> builder() {
      return new ConcreteBuilder();
   }
   public Builder<?> toBuilder() {
      return new ConcreteBuilder().fromNetworkService(this);
   }
   public abstract static class Builder<T extends Builder<T>> {
      protected abstract T self();
      protected String name;
      protected Set<Capabilitycapabilities = Sets.newHashSet();

      
      public T name(String name) {
         this. = name;
         return self();
      }

      
      public T capabilities(Map<StringStringcapabilities) {
         for (Map.Entry<StringStringentry : capabilities.entrySet()) {
            this..add(Capability.builder().name(entry.getKey()).value(entry.getValue()).build());
         }
         return self();
      }
      public NetworkService build() {
         return new NetworkService();
      }
      public T fromNetworkService(NetworkService in) {
         return this
               .name(in.getName())
               .capabilities(in.getCapabilities());
      }
   }
   private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
      @Override
      protected ConcreteBuilder self() {
         return this;
      }
   }
   private final String name;
   private final Set<Capabilitycapabilities;
         "name""capability"
   })
   protected NetworkService(String name, @Nullable Set<Capabilitycapabilities) {
      this. = checkNotNull(name"name");
      this. = capabilities == null ? ImmutableSet.<Capability>of() : ImmutableSortedSet.copyOf(capabilities);
   }
   public String getName() {
      return this.;
   }
   public Map<StringStringgetCapabilities() {
      // so tests and serialization comes out expected
      ImmutableSortedMap.Builder<StringStringreturnVal = ImmutableSortedMap.naturalOrder();
      for (Capability capability : ) {
         returnVal.put(capability.namecapability.value);
      }
      return returnVal.build();
   }
   public int hashCode() {
      return Objects.hashCode();
   }
   public boolean equals(Object obj) {
      if (this == objreturn true;
      if (obj == null || getClass() != obj.getClass()) return false;
      NetworkService that = NetworkService.class.cast(obj);
      return Objects.equal(this.that.name)
            && Objects.equal(this.that.capabilities);
   }
   protected ToStringHelper string() {
      return Objects.toStringHelper(this).add("name").add("capabilities");
   }
   public String toString() {
      return string().toString();
   }
   public int compareTo(NetworkService o) {
      return .compareTo(o.getName());
   }
New to GrepCode? Check out our FAQ X