| //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.quota.vo; |
| |
| import org.apache.cloudstack.api.InternalIdentity; |
| |
| import javax.persistence.Column; |
| import javax.persistence.Entity; |
| import javax.persistence.Id; |
| import javax.persistence.Table; |
| import javax.persistence.Temporal; |
| import javax.persistence.TemporalType; |
| |
| import java.math.BigDecimal; |
| import java.util.Date; |
| |
| @Entity |
| @Table(name = "quota_balance") |
| public class QuotaBalanceVO implements InternalIdentity { |
| |
| private static final long serialVersionUID = -7112846845287653210L; |
| |
| @Id |
| @Column(name = "id") |
| private Long id; |
| |
| @Column(name = "account_id") |
| private Long accountId = null; |
| |
| @Column(name = "domain_id") |
| private Long domainId = null; |
| |
| @Column(name = "credit_balance") |
| private BigDecimal creditBalance; |
| |
| @Column(name = "credits_id") |
| private Long creditsId; |
| |
| @Column(name = "updated_on") |
| @Temporal(value = TemporalType.TIMESTAMP) |
| private Date updatedOn = null; |
| |
| public QuotaBalanceVO() { |
| } |
| |
| public QuotaBalanceVO(final QuotaCreditsVO credit) { |
| super(); |
| this.accountId = credit.getAccountId(); |
| this.domainId = credit.getDomainId(); |
| this.creditBalance = credit.getCredit(); |
| this.updatedOn = credit.getUpdatedOn() == null ? null : new Date(credit.getUpdatedOn().getTime()); |
| this.creditsId = credit.getId(); |
| } |
| |
| public QuotaBalanceVO(final Long accountId, final Long domainId, final BigDecimal creditBalance, final Date updatedOn) { |
| super(); |
| this.accountId = accountId; |
| this.domainId = domainId; |
| this.creditBalance = creditBalance; |
| this.creditsId = 0L; |
| this.updatedOn = updatedOn == null ? null : new Date(updatedOn.getTime()); |
| } |
| |
| @Override |
| public long getId() { |
| return id; |
| } |
| |
| public void setId(Long id) { |
| this.id = id; |
| } |
| |
| public Long getAccountId() { |
| return accountId; |
| } |
| |
| public void setAccountId(Long accountId) { |
| this.accountId = accountId; |
| } |
| |
| public Long getDomainId() { |
| return domainId; |
| } |
| |
| public void setDomainId(Long domainId) { |
| this.domainId = domainId; |
| } |
| |
| public Long getCreditsId() { |
| return creditsId; |
| } |
| |
| public void setCreditsId(Long creditsId) { |
| this.creditsId = creditsId; |
| } |
| |
| public boolean isBalanceEntry(){ |
| return creditsId==0; |
| } |
| |
| public BigDecimal getCreditBalance() { |
| return creditBalance; |
| } |
| |
| public void setCreditBalance(BigDecimal creditBalance) { |
| this.creditBalance = creditBalance; |
| } |
| |
| public Date getUpdatedOn() { |
| return updatedOn == null ? null : new Date(updatedOn.getTime()); |
| } |
| |
| public void setUpdatedOn(Date updatedOn) { |
| this.updatedOn = updatedOn == null ? null : new Date(updatedOn.getTime()); |
| } |
| |
| @Override |
| public String toString() { |
| return "QuotaBalanceVO [id=" + id + ", accountId=" + accountId + ", domainId=" + domainId + ", creditBalance=" + creditBalance + ", creditsId=" + creditsId + ", updatedOn=" |
| + updatedOn + "]"; |
| } |
| |
| } |