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.Set;
 
 
Class FirewallRule

Author(s):
Andrei Savu
 
 public class FirewallRule implements Comparable<FirewallRule> {

   
 
    public static enum Protocol {
       TCP,
       UDP,
       ICMP,
       UNKNOWN;
 
       public static Protocol fromValue(String value) {
          try {
             return valueOf(value.toUpperCase());
          } catch (IllegalArgumentException e) {
             return ;
          }
       }
 
       @Override
       public String toString() {
          return name().toUpperCase();
       }
    }
 
    public static enum State {
       STAGED,     // Rule been created but has never got through network rule conflict detection.
       // Rules in this state can not be sent to network elements.
       ADD,        // Add means the rule has been created and has gone through network rule conflict detection.
       ACTIVE,     // Rule has been sent to the network elements and reported to be active.
       DELETING,   // Revoke means this rule has been revoked. If this rule has been sent to the
       // network elements, the rule will be deleted from database.
       UNKNOWN;
 
       public static State fromValue(String value) {
          try {
             return valueOf(value.toUpperCase());
          } catch (IllegalArgumentException e) {
             return ;
          }
       }
 
       @Override
       public String toString() {
          return ..to(.name());
       }
    }
 
    public static Builder<?> builder() {
       return new ConcreteBuilder();
    }
 
    public Builder<?> toBuilder() {
       return new ConcreteBuilder().fromFirewallRule(this);
    }
 
    public abstract static class Builder<T extends Builder<T>> {
       protected abstract T self();
 
       protected String id;
       protected Set<StringCIDRs = ImmutableSet.of();
       protected int startPort;
       protected int endPort;
       protected String icmpCode;
       protected String icmpType;
      protected String ipAddress;
      protected String ipAddressId;
      protected FirewallRule.Protocol protocol;
      protected FirewallRule.State state;

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

      
      public T CIDRs(Set<StringCIDRs) {
         this. = ImmutableSet.copyOf(checkNotNull(CIDRs"CIDRs"));
         return self();
      }
      public T CIDRs(String... in) {
         return CIDRs(ImmutableSet.copyOf(in));
      }

      
      public T startPort(int startPort) {
         this. = startPort;
         return self();
      }

      
      public T endPort(int endPort) {
         this. = endPort;
         return self();
      }

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

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

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

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

      
      public T protocol(FirewallRule.Protocol protocol) {
         this. = protocol;
         return self();
      }

      
      public T state(FirewallRule.State state) {
         this. = state;
         return self();
      }
      public FirewallRule build() {
         return new FirewallRule();
      }
      public T fromFirewallRule(FirewallRule in) {
         return this
               .id(in.getId())
               .CIDRs(in.getCIDRs())
               .startPort(in.getStartPort())
               .endPort(in.getEndPort())
               .icmpCode(in.getIcmpCode())
               .icmpType(in.getIcmpType())
               .ipAddress(in.getIpAddress())
               .ipAddressId(in.getIpAddressId())
               .protocol(in.getProtocol())
               .state(in.getState());
      }
   }
   private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
      @Override
      protected ConcreteBuilder self() {
         return this;
      }
   }
   private final String id;
   private final Set<StringCIDRs;
   private final int startPort;
   private final int endPort;
   private final String icmpCode;
   private final String icmpType;
   private final String ipAddress;
   private final String ipAddressId;
   private final FirewallRule.Protocol protocol;
   private final FirewallRule.State state;
         "id""cidrlist""startport""endport""icmpcode""icmptype""ipaddress""ipaddressid""protocol""state"
   })
   private FirewallRule(String id, @Nullable String CIDRsint startPortint endPort, @Nullable String icmpCode,
                        @Nullable String icmpType, @Nullable String ipAddress, @Nullable String ipAddressId,
                        @Nullable Protocol protocol, @Nullable State state) {
      this(idsplitStringOnCommas(CIDRs), startPortendPorticmpCodeicmpTypeipAddressipAddressIdprotocolstate);
   }
   private static Set<StringsplitStringOnCommas(String in) {
      return in == null ? ImmutableSet.<String>of() : ImmutableSet.copyOf(in.split(","));
   }
   protected FirewallRule(String id, @Nullable Iterable<StringCIDRsint startPortint endPort, @Nullable String icmpCode,
                          @Nullable String icmpType, @Nullable String ipAddress, @Nullable String ipAddressId,
                          @Nullable FirewallRule.Protocol protocol, @Nullable FirewallRule.State state) {
      this. = checkNotNull(id"id");
      this. = CIDRs == null ? ImmutableSet.<String>of() : ImmutableSet.copyOf(CIDRs);
      this. = startPort;
      this. = endPort;
      this. = icmpCode;
      this. = icmpType;
      this. = ipAddress;
      this. = ipAddressId;
      this. = protocol;
      this. = state;
   }
   public String getId() {
      return this.;
   }
   public Set<StringgetCIDRs() {
      return this.;
   }
   public int getStartPort() {
      return this.;
   }
   public int getEndPort() {
      return this.;
   }
   public String getIcmpCode() {
      return this.;
   }
   public String getIcmpType() {
      return this.;
   }
   public String getIpAddress() {
      return this.;
   }
   public String getIpAddressId() {
      return this.;
   }
      return this.;
   }
   public FirewallRule.State getState() {
      return this.;
   }
   public int hashCode() {
      return Objects.hashCode();
   }
   public boolean equals(Object obj) {
      if (this == objreturn true;
      if (obj == null || getClass() != obj.getClass()) return false;
      FirewallRule that = FirewallRule.class.cast(obj);
      return Objects.equal(this.that.id)
            && Objects.equal(this.that.CIDRs)
            && Objects.equal(this.that.startPort)
            && Objects.equal(this.that.endPort)
            && Objects.equal(this.that.icmpCode)
            && Objects.equal(this.that.icmpType)
            && Objects.equal(this.that.ipAddress)
            && Objects.equal(this.that.ipAddressId)
            && Objects.equal(this.that.protocol)
            && Objects.equal(this.that.state);
   }
   protected ToStringHelper string() {
      return Objects.toStringHelper(this)
            .add("id").add("CIDRs").add("startPort").add("endPort").add("icmpCode")
            .add("icmpType").add("ipAddress").add("ipAddressId").add("protocol").add("state");
   }
   public String toString() {
      return string().toString();
   }
   public int compareTo(FirewallRule other) {
      return .compareTo(other.getId());
   }
New to GrepCode? Check out our FAQ X