package com.bocloud.ims.entity.resource.hmc;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;

/**
 * HMC主机的共享存储池
 *
 */
@Deprecated
@Table("hmc_system_shared_processor_pool")
public class HmcSystemSharedProcessorPool extends GenericEntity {
    @PK(value = PKStrategy.AUTO)
    private Long id;

    @Column("server_id")
    private Long serverId;


    @Column("uuid")
    private String uuid;

    @Column("assigned_partitions")
    private int assignedPartitions;

    @Column("current_reserved_processing_units")
    private Double currentReservedProcessingUnits;

    @Column("maximum_processing_units")
    private Double maximumProcessingUnits;

    @Column("pending_reserved_processing_units")
    private Double pendingReservedProcessingUnits;

    @Column("hmc_pool_id")
    private Integer hmcPoolId;

    @Column("available_proc_units")
    private Double availableProcUnits;

    public HmcSystemSharedProcessorPool() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getServerId() {
        return serverId;
    }

    public void setServerId(Long serverId) {
        this.serverId = serverId;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public int getAssignedPartitions() {
        return assignedPartitions;
    }

    public void setAssignedPartitions(int assignedPartitions) {
        this.assignedPartitions = assignedPartitions;
    }

    public Double getCurrentReservedProcessingUnits() {
        return currentReservedProcessingUnits;
    }

    public void setCurrentReservedProcessingUnits(Double currentReservedProcessingUnits) {
        this.currentReservedProcessingUnits = currentReservedProcessingUnits;
    }

    public Double getMaximumProcessingUnits() {
        return maximumProcessingUnits;
    }

    public void setMaximumProcessingUnits(Double maximumProcessingUnits) {
        this.maximumProcessingUnits = maximumProcessingUnits;
    }

    public Double getPendingReservedProcessingUnits() {
        return pendingReservedProcessingUnits;
    }

    public void setPendingReservedProcessingUnits(Double pendingReservedProcessingUnits) {
        this.pendingReservedProcessingUnits = pendingReservedProcessingUnits;
    }

    public Integer getHmcPoolId() {
        return hmcPoolId;
    }

    public void setHmcPoolId(Integer hmcPoolId) {
        this.hmcPoolId = hmcPoolId;
    }

    public Double getAvailableProcUnits() {
        return availableProcUnits;
    }

    public void setAvailableProcUnits(Double availableProcUnits) {
        this.availableProcUnits = availableProcUnits;
    }

    public void preSave(Long creatorId, Long menderId, Long serverId) {
        this.setCreatorId(creatorId);
        this.setMenderId(menderId);
        this.setServerId(serverId);
    }
}
