| //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.api.response; |
| |
| import java.math.BigDecimal; |
| import java.math.RoundingMode; |
| import java.util.ArrayList; |
| import java.util.Date; |
| import java.util.List; |
| |
| import com.google.gson.annotations.SerializedName; |
| |
| import org.apache.cloudstack.api.BaseResponse; |
| import org.apache.cloudstack.quota.vo.QuotaBalanceVO; |
| |
| import com.cloud.serializer.Param; |
| |
| public class QuotaBalanceResponse extends BaseResponse { |
| |
| @SerializedName("accountid") |
| @Param(description = "account id") |
| private Long accountId; |
| |
| @SerializedName("account") |
| @Param(description = "account name") |
| private String accountName; |
| |
| @SerializedName("domain") |
| @Param(description = "domain id") |
| private Long domainId; |
| |
| @SerializedName("startquota") |
| @Param(description = "quota started with") |
| private BigDecimal startQuota; |
| |
| @SerializedName("endquota") |
| @Param(description = "quota by end of this period") |
| private BigDecimal endQuota; |
| |
| @SerializedName("credits") |
| @Param(description = "list of credits made during this period") |
| private List<QuotaCreditsResponse> credits = null; |
| |
| @SerializedName("startdate") |
| @Param(description = "start date") |
| private Date startDate = null; |
| |
| @SerializedName("enddate") |
| @Param(description = "end date") |
| private Date endDate = null; |
| |
| @SerializedName("currency") |
| @Param(description = "currency") |
| private String currency; |
| |
| public QuotaBalanceResponse() { |
| super(); |
| credits = new ArrayList<QuotaCreditsResponse>(); |
| } |
| |
| public Long getAccountId() { |
| return accountId; |
| } |
| |
| public void setAccountId(Long accountId) { |
| this.accountId = accountId; |
| } |
| |
| public String getAccountName() { |
| return accountName; |
| } |
| |
| public void setAccountName(String accountName) { |
| this.accountName = accountName; |
| } |
| |
| public Long getDomainId() { |
| return domainId; |
| } |
| |
| public void setDomainId(Long domainId) { |
| this.domainId = domainId; |
| } |
| |
| public BigDecimal getStartQuota() { |
| return startQuota; |
| } |
| |
| public void setStartQuota(BigDecimal startQuota) { |
| this.startQuota = startQuota.setScale(2, RoundingMode.HALF_EVEN); |
| } |
| |
| public BigDecimal getEndQuota() { |
| return endQuota; |
| } |
| |
| public void setEndQuota(BigDecimal endQuota) { |
| this.endQuota = endQuota.setScale(2, RoundingMode.HALF_EVEN); |
| } |
| |
| public List<QuotaCreditsResponse> getCredits() { |
| return credits; |
| } |
| |
| public void setCredits(List<QuotaCreditsResponse> credits) { |
| this.credits = credits; |
| } |
| |
| public void addCredits(QuotaBalanceVO credit) { |
| QuotaCreditsResponse cr = new QuotaCreditsResponse(); |
| cr.setCredits(credit.getCreditBalance()); |
| cr.setUpdatedOn(credit.getUpdatedOn() == null ? null : new Date(credit.getUpdatedOn().getTime())); |
| credits.add(0, cr); |
| } |
| |
| public Date getStartDate() { |
| return startDate == null ? null : new Date(startDate.getTime()); |
| } |
| |
| public void setStartDate(Date startDate) { |
| this.startDate = startDate == null ? null : new Date(startDate.getTime()); |
| } |
| |
| public Date getEndDate() { |
| return endDate == null ? null : new Date(endDate.getTime()); |
| } |
| |
| public void setEndDate(Date endDate) { |
| this.endDate = endDate == null ? null : new Date(endDate.getTime()); |
| } |
| |
| public String getCurrency() { |
| return currency; |
| } |
| |
| public void setCurrency(String currency) { |
| this.currency = currency; |
| } |
| } |