content: // 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.apache.cloudstack.cloudian.client;
  
  import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  import java.util.Date;
  
  @JsonIgnoreProperties(ignoreUnknown = true)
  public class CloudianCredential {
  
      String accessKey;
      Boolean active;
      Date createDate;
      Date expireDate;
      String secretKey;
  
      @Override
      public String toString() {
          return String.format("Cloudian Credential [ak=%s, sk=***, createDate=%s, expireDate=%s, active=%s]", accessKey, createDate, expireDate, active);
      }
  
      public String getAccessKey() {
          return accessKey;
      }
  
      public void setAccessKey(String accessKey) {
          this.accessKey = accessKey;
      }
  
      public String getSecretKey() {
          return secretKey;
      }
  
      public void setSecretKey(String secretKey) {
          this.secretKey = secretKey;
      }
  
      public Date getCreateDate() {
          return createDate;
      }
  
      public void setCreateDate(Date createDate) {
          this.createDate = createDate;
      }
  
      public Date getExpireDate() {
          return expireDate;
      }
  
      public void setExpireDate(Date expireDate) {
          this.expireDate = expireDate;
      }
  
      public Boolean getActive() {
          return active;
      }
  
      public void setActive(Boolean active) {
          this.active = active;
      }
  
      /**
       * Return true if this credential is newer than the other credential.
       * @param other the credential to compare against
       * @return true only if it is known to be newer, false if anything is null.
       */
      public boolean isNewerThan(CloudianCredential other) {
          if (this.createDate == null || other == null || other.createDate == null) {
              return false;
          }
          return this.createDate.after(other.createDate);
      }
  }
  