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.Date;
 import java.util.Map;
 
 
Represents a usage record from CloudStack

Author(s):
Richard Downer
 
 public class UsageRecord {

   
 
    public static enum UsageType {
       RUNNING_VM(1),
       ALLOCATED_VM(2),
       IP_ADDRESS(3),
       NETWORK_BYTES_SENT(4),
       NETWORK_BYTES_RECEIVED(5),
       VOLUME(6),
       TEMPLATE(7),
       ISO(8),
       SNAPSHOT(9),
       SECURITY_GROUP(10),
       LOAD_BALANCER_POLICY(11),
       PORT_FORWARDING_RULE(12),
       NETWORK_OFFERING(13),
       VPN_USERS(14),
       UNRECOGNIZED(0);
 
       private int code;
 
       private static final Map<IntegerUsageTypeINDEX = Maps.uniqueIndex(ImmutableSet.copyOf(UsageType.values()),
             new Function<UsageTypeInteger>() {
 
                @Override
                public Integer apply(UsageType input) {
                   return input.code;
                }
 
             });
 
       UsageType(int code) {
          this. = code;
       }
 
       @Override
       public String toString() {
          return "" + ;
       }
 
       public static UsageType fromValue(String usageType) {
          Integer code = Integer.valueOf(checkNotNull(usageType"usageType"));
          return .containsKey(code) ? .get(code) : ;
       }
 
    }
 
    public static Builder<?> builder() {
       return new ConcreteBuilder();
    }
 
    public Builder<?> toBuilder() {
       return new ConcreteBuilder().fromUsageRecord(this);
    }
 
    public abstract static class Builder<T extends Builder<T>> {
       protected abstract T self();
 
       protected String id;
       protected String description;
      protected String accountId;
      protected String accountName;
      protected String domainId;
      protected Date startDate;
      protected Date endDate;
      protected Date assignDate;
      protected String releaseDate;
      protected String zoneId;
      protected String virtualMachineId;
      protected String virtualMachineName;
      protected String serviceOfferingId;
      protected String templateId;
      protected String ipAddress;
      protected boolean isSourceNAT;
      protected double rawUsageHours;
      protected String usage;
      protected String type;
      protected UsageType usageType;

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

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

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

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

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

      
      public T startDate(Date startDate) {
         this. = startDate;
         return self();
      }

      
      public T endDate(Date endDate) {
         this. = endDate;
         return self();
      }

      
      public T assignDate(Date assignDate) {
         this. = assignDate;
         return self();
      }

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

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

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

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

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

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

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

      
      public T isSourceNAT(boolean isSourceNAT) {
         this. = isSourceNAT;
         return self();
      }

      
      public T rawUsageHours(double rawUsageHours) {
         this. = rawUsageHours;
         return self();
      }

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

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

      
      public T usageType(UsageType usageType) {
         this. = usageType;
         return self();
      }
      public UsageRecord build() {
               );
      }
      public T fromUsageRecord(UsageRecord in) {
         return this
               .id(in.getId())
               .description(in.getDescription())
               .accountId(in.getAccountId())
               .accountName(in.getAccountName())
               .domainId(in.getDomainId())
               .startDate(in.getStartDate())
               .endDate(in.getEndDate())
               .assignDate(in.getAssignDate())
               .releaseDate(in.getReleaseDate())
               .zoneId(in.getZoneId())
               .virtualMachineId(in.getVirtualMachineId())
               .virtualMachineName(in.getVirtualMachineName())
               .serviceOfferingId(in.getServiceOfferingId())
               .templateId(in.getTemplateId())
               .ipAddress(in.getIpAddress())
               .isSourceNAT(in.isSourceNAT())
               .rawUsageHours(in.getRawUsageHours())
               .usage(in.getUsage())
               .type(in.getType())
               .usageType(in.getUsageType());
      }
   }
   private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
      @Override
      protected ConcreteBuilder self() {
         return this;
      }
   }
   private final String id;
   private final String description;
   private final String accountId;
   private final String accountName;
   private final String domainId;
   private final Date startDate;
   private final Date endDate;
   private final Date assignDate;
   private final String releaseDate;
   private final String zoneId;
   private final String virtualMachineId;
   private final String virtualMachineName;
   private final String serviceOfferingId;
   private final String templateId;
   private final String ipAddress;
   private final boolean isSourceNAT;
   private final double rawUsageHours;
   private final String usage;
   private final String type;
   private final UsageType usageType;
         "usageid""description""accountid""account""domainid""startdate""enddate""assigndate""releasedate",
         "zoneid""virtualmachineid""name""offeringid""templateid""ipaddress""issourcenat""rawusage""usage",
         "type""usagetype"
   })
   protected UsageRecord(String id, @Nullable String description, @Nullable String accountId, @Nullable String accountName,
                         @Nullable String domainId, @Nullable Date startDate, @Nullable Date endDate, @Nullable Date assignDate,
                         @Nullable String releaseDate, @Nullable String zoneId, @Nullable String virtualMachineId, @Nullable String virtualMachineName,
                         @Nullable String serviceOfferingId, @Nullable String templateId, @Nullable String ipAddress,
                         boolean isSourceNATdouble rawUsageHours, @Nullable String usage, @Nullable String type, @Nullable UsageType usageType) {
      this. = id;
      this. = description;
      this. = accountId;
      this. = accountName;
      this. = domainId;
      this. = startDate;
      this. = endDate;
      this. = assignDate;
      this. = releaseDate;
      this. = zoneId;
      this. = virtualMachineId;
      this. = virtualMachineName;
      this. = serviceOfferingId;
      this. = templateId;
      this. = ipAddress;
      this. = isSourceNAT;
      this. = rawUsageHours;
      this. = usage;
      this. = type;
      this. = usageType;
   }
   public String getId() {
      return this.;
   }
   public String getDescription() {
      return this.;
   }
   public String getAccountId() {
      return this.;
   }
   public String getAccountName() {
      return this.;
   }
   public String getDomainId() {
      return this.;
   }
   public Date getStartDate() {
      return this.;
   }
   public Date getEndDate() {
      return this.;
   }
   public Date getAssignDate() {
      return this.;
   }
   public String getReleaseDate() {
      return this.;
   }
   public String getZoneId() {
      return this.;
   }
   public String getVirtualMachineId() {
      return this.;
   }
   public String getVirtualMachineName() {
      return this.;
   }
   public String getServiceOfferingId() {
      return this.;
   }
   public String getTemplateId() {
      return this.;
   }
   public String getIpAddress() {
      return this.;
   }
   public boolean isSourceNAT() {
      return this.;
   }
   public double getRawUsageHours() {
      return this.;
   }
   public String getUsage() {
      return this.;
   }
   public String getType() {
      return this.;
   }
   public UsageType getUsageType() {
      return this.;
   }
   public int hashCode() {
            );
   }
   public boolean equals(Object obj) {
      if (this == objreturn true;
      if (obj == null || getClass() != obj.getClass()) return false;
      UsageRecord that = UsageRecord.class.cast(obj);
      return Objects.equal(this.that.id)
            && Objects.equal(this.that.description)
            && Objects.equal(this.that.accountId)
            && Objects.equal(this.that.accountName)
            && Objects.equal(this.that.domainId)
            && Objects.equal(this.that.startDate)
            && Objects.equal(this.that.endDate)
            && Objects.equal(this.that.assignDate)
            && Objects.equal(this.that.releaseDate)
            && Objects.equal(this.that.zoneId)
            && Objects.equal(this.that.virtualMachineId)
            && Objects.equal(this.that.virtualMachineName)
            && Objects.equal(this.that.serviceOfferingId)
            && Objects.equal(this.that.templateId)
            && Objects.equal(this.that.ipAddress)
            && Objects.equal(this.that.isSourceNAT)
            && Objects.equal(this.that.rawUsageHours)
            && Objects.equal(this.that.usage)
            && Objects.equal(this.that.type)
            && Objects.equal(this.that.usageType);
   }
   protected ToStringHelper string() {
      return Objects.toStringHelper(this)
            .add("id").add("description").add("accountId").add("accountName")
            .add("domainId").add("startDate").add("endDate").add("assignDate")
            .add("releaseDate").add("zoneId").add("virtualMachineId")
            .add("virtualMachineName").add("serviceOfferingId").add("templateId")
            .add("ipAddress").add("isSourceNAT").add("rawUsageHours").add("usage")
            .add("type").add("usageType");
   }
   public String toString() {
      return string().toString();
   }
New to GrepCode? Check out our FAQ X