package org.ovirt.engine.core.common.businessentities.storage; import javax.validation.Valid; import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; import org.ovirt.engine.core.compat.Guid; public abstract class DiskImageBase extends Disk { private static final long serialVersionUID = -82774278437463811L; @Valid private Image image; /** Transient field for GUI presentation purposes. */ private QuotaEnforcementTypeEnum quotaEnforcementType; public DiskImageBase() { image = new Image(); getImage().setSize(0); getImage().setVolumeType(VolumeType.Sparse); } public Image getImage() { return image; } public void setImage(Image image) { this.image = image; } public VolumeType getVolumeType() { return getImage().getVolumeType(); } public void setVolumeType(VolumeType volumeType) { getImage().setVolumeType(volumeType); } public VolumeFormat getVolumeFormat() { return getImage().getVolumeFormat(); } public void setVolumeFormat(VolumeFormat volumeFormat) { getImage().setVolumeFormat(volumeFormat); } public QcowCompat getQcowCompat() { return getImage().getQcowCompat(); } public void setQcowCompat(QcowCompat qcowCompat) { getImage().setQcowCompat(qcowCompat); } @Override public long getSize() { return getImage().getSize(); } public void setSize(long size) { getImage().setSize(size); } /** * disk size in GB */ public long getSizeInGigabytes() { return getSize() / (1024 * 1024 * 1024); } public void setSizeInGigabytes(long value) { setSize(value * (1024 * 1024 * 1024)); } public QuotaEnforcementTypeEnum getQuotaEnforcementType() { return quotaEnforcementType; } public void setQuotaEnforcementType(QuotaEnforcementTypeEnum quotaEnforcementType) { this.quotaEnforcementType = quotaEnforcementType; } @Override public boolean isAllowSnapshot() { return !isShareable(); } public boolean isQcowFormat() { return VolumeFormat.COW == getImage().getVolumeFormat(); } @Override public DiskStorageType getDiskStorageType() { return DiskStorageType.IMAGE; } @Override public void setId(Guid id) { super.setId(id); getImage().setDiskId(id); } }