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

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.meta.PKStrategy;
import org.apache.commons.lang3.StringUtils;

/**
 * HMC系统功能
 * 
 * @author sxp
 * @since May 22, 2018
 */
@Deprecated
@Table("hmc_system_capability")
public class HmcSystemCapability {
    @PK(value = PKStrategy.AUTO)
    private Long id;

    @Column("server_id")
    private Long serverId;

    @Column("active_memory_sharing_capable")
    private String activeMemorySharingCapable;

    @Column("ibmi_capable")
    private String ibmiCapable;

    @Column("telnet5250_application_capable")
    private String telnet5250ApplicationCapable;

    @Column("capacity_on_demand_processor_capable")
    private String capacityOnDemandProcessorCapable;

    @Column("capacity_on_demand_memory_capable")
    private String capacityOnDemandMemoryCapable;

    @IgnoreAll
    private String onDemandProcessorCapable;

    @Column("micro_logical_partition_capable")
    private String microLogicalPartitionCapable;

    @Column("virtual_io_server_capable")
    private String virtualIOServerCapable;

    @Column("host_channel_adapter_capable")
    private String hostChannelAdapterCapable;

    @Column("logical_host_ethernet_adapter_capable")
    private String logicalHostEthernetAdapterCapable;

    @Column("huge_page_memory_capable")
    private String hugePageMemoryCapable;

    @Column("barrier_synchronization_register_capable")
    private String barrierSynchronizationRegisterCapable;

    @Column("service_processor_failover_capable")
    private String serviceProcessorFailoverCapable;

    @Column("shared_ethernet_failover_capable")
    private String sharedEthernetFailoverCapable;

    @Column("redundant_error_path_reporting_capable")
    private String redundantErrorPathReportingCapable;

    @Column("hardware_discovery_capable")
    private String hardwareDiscoveryCapable;

    @Column("active_logical_partition_mobility_capable")
    private String activeLogicalPartitionMobilityCapable;

    @Column("inactive_logical_partition_mobility_capable")
    private String inactiveLogicalPartitionMobilityCapable;

    @Column("ibmi_logical_partition_mobility_capable")
    private String ibmiLogicalPartitionMobilityCapable;

    @Column("logical_partition_processor_compatibility_mode_capable")
    private String logicalPartitionProcessorCompatibilityModeCapable;

    @Column("logical_partition_availability_priority_capable")
    private String logicalPartitionAvailabilityPriorityCapable;

    @Column("electronic_error_reporting_capable")
    private String electronicErrorReportingCapable;

    @Column("active_logical_partition_shared_ide_processors_capable")
    private String activeLogicalPartitionSharedIdeProcessorsCapable;

    @Column("firmware_power_saver_capable")
    private String firmwarePowerSaverCapable;

    @Column("hardware_power_saver_capable")
    private String hardwarePowerSaverCapable;

    @Column("virtual_switch_capable")
    private String virtualSwitchCapable;

    @Column("virtual_fiber_channel_capable")
    private String virtualFiberChannelCapable;

    @Column("ibmi_logical_partition_suspend_capable")
    private String ibmiLogicalPartitionSuspendCapable;

    @Column("logical_partition_remote_restart_capable")
    private String logicalPartitionRemoteRestartCapable;

    @Column("virtual_trusted_platform_module_capable")
    private String virtualTrustedPlatformModuleCapable;

    @Column("active_system_optimizer_capable")
    private String activeSystemOptimizerCapable;

    @Column("virtual_server_networking_phase2_capable")
    private String virtualServerNetworkingPhase2Capable;

    @Column("powervm_logical_partition_simplified_remote_restart_capable")
    private String powerVMLogicalPartitionSimplifiedRemoteRestartCapable;

    @Column("shared_processor_pool_capable")
    private String sharedProcessorPoolCapable;

    @Column("virtual_ethernet_custom_mac_address_capable")
    private String virtualEthernetCustomMACAddressCapable;

    public HmcSystemCapability() {
    }

    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 getActiveMemorySharingCapable() {
        return activeMemorySharingCapable;
    }

    public void setActiveMemorySharingCapable(String activeMemorySharingCapable) {
        this.activeMemorySharingCapable = activeMemorySharingCapable;
    }

    public String getIbmiCapable() {
        return ibmiCapable;
    }

    public void setIbmiCapable(String ibmiCapable) {
        this.ibmiCapable = ibmiCapable;
    }

    public String getTelnet5250ApplicationCapable() {
        return telnet5250ApplicationCapable;
    }

    public void setTelnet5250ApplicationCapable(String telnet5250ApplicationCapable) {
        this.telnet5250ApplicationCapable = telnet5250ApplicationCapable;
    }

    public String getCapacityOnDemandProcessorCapable() {
        return capacityOnDemandProcessorCapable;
    }

    public void setCapacityOnDemandProcessorCapable(String capacityOnDemandProcessorCapable) {
        this.capacityOnDemandProcessorCapable = capacityOnDemandProcessorCapable;
    }

    public String getCapacityOnDemandMemoryCapable() {
        return capacityOnDemandMemoryCapable;
    }

    public void setCapacityOnDemandMemoryCapable(String capacityOnDemandMemoryCapable) {
        this.capacityOnDemandMemoryCapable = capacityOnDemandMemoryCapable;
    }

    public String getOnDemandProcessorCapable() {
        if (StringUtils.isEmpty(onDemandProcessorCapable)) {
            if ("true".equalsIgnoreCase(capacityOnDemandProcessorCapable)
                    || "true".equalsIgnoreCase(capacityOnDemandMemoryCapable)) {
                onDemandProcessorCapable = "true";
            } else {
                onDemandProcessorCapable = "false";
            }
        }
        return onDemandProcessorCapable;
    }

    public void setOnDemandProcessorCapable(String onDemandProcessorCapable) {
        this.onDemandProcessorCapable = onDemandProcessorCapable;
    }

    public String getMicroLogicalPartitionCapable() {
        return microLogicalPartitionCapable;
    }

    public void setMicroLogicalPartitionCapable(String microLogicalPartitionCapable) {
        this.microLogicalPartitionCapable = microLogicalPartitionCapable;
    }

    public String getVirtualIOServerCapable() {
        return virtualIOServerCapable;
    }

    public void setVirtualIOServerCapable(String virtualIOServerCapable) {
        this.virtualIOServerCapable = virtualIOServerCapable;
    }

    public String getHostChannelAdapterCapable() {
        return hostChannelAdapterCapable;
    }

    public void setHostChannelAdapterCapable(String hostChannelAdapterCapable) {
        this.hostChannelAdapterCapable = hostChannelAdapterCapable;
    }

    public String getLogicalHostEthernetAdapterCapable() {
        return logicalHostEthernetAdapterCapable;
    }

    public void setLogicalHostEthernetAdapterCapable(String logicalHostEthernetAdapterCapable) {
        this.logicalHostEthernetAdapterCapable = logicalHostEthernetAdapterCapable;
    }

    public String getHugePageMemoryCapable() {
        return hugePageMemoryCapable;
    }

    public void setHugePageMemoryCapable(String hugePageMemoryCapable) {
        this.hugePageMemoryCapable = hugePageMemoryCapable;
    }

    public String getBarrierSynchronizationRegisterCapable() {
        return barrierSynchronizationRegisterCapable;
    }

    public void setBarrierSynchronizationRegisterCapable(String barrierSynchronizationRegisterCapable) {
        this.barrierSynchronizationRegisterCapable = barrierSynchronizationRegisterCapable;
    }

    public String getServiceProcessorFailoverCapable() {
        return serviceProcessorFailoverCapable;
    }

    public void setServiceProcessorFailoverCapable(String serviceProcessorFailoverCapable) {
        this.serviceProcessorFailoverCapable = serviceProcessorFailoverCapable;
    }

    public String getSharedEthernetFailoverCapable() {
        return sharedEthernetFailoverCapable;
    }

    public void setSharedEthernetFailoverCapable(String sharedEthernetFailoverCapable) {
        this.sharedEthernetFailoverCapable = sharedEthernetFailoverCapable;
    }

    public String getRedundantErrorPathReportingCapable() {
        return redundantErrorPathReportingCapable;
    }

    public void setRedundantErrorPathReportingCapable(String redundantErrorPathReportingCapable) {
        this.redundantErrorPathReportingCapable = redundantErrorPathReportingCapable;
    }

    public String getHardwareDiscoveryCapable() {
        return hardwareDiscoveryCapable;
    }

    public void setHardwareDiscoveryCapable(String hardwareDiscoveryCapable) {
        this.hardwareDiscoveryCapable = hardwareDiscoveryCapable;
    }

    public String getActiveLogicalPartitionMobilityCapable() {
        return activeLogicalPartitionMobilityCapable;
    }

    public void setActiveLogicalPartitionMobilityCapable(String activeLogicalPartitionMobilityCapable) {
        this.activeLogicalPartitionMobilityCapable = activeLogicalPartitionMobilityCapable;
    }

    public String getInactiveLogicalPartitionMobilityCapable() {
        return inactiveLogicalPartitionMobilityCapable;
    }

    public void setInactiveLogicalPartitionMobilityCapable(String inactiveLogicalPartitionMobilityCapable) {
        this.inactiveLogicalPartitionMobilityCapable = inactiveLogicalPartitionMobilityCapable;
    }

    public String getIbmiLogicalPartitionMobilityCapable() {
        return ibmiLogicalPartitionMobilityCapable;
    }

    public void setIbmiLogicalPartitionMobilityCapable(String ibmiLogicalPartitionMobilityCapable) {
        this.ibmiLogicalPartitionMobilityCapable = ibmiLogicalPartitionMobilityCapable;
    }

    public String getLogicalPartitionProcessorCompatibilityModeCapable() {
        return logicalPartitionProcessorCompatibilityModeCapable;
    }

    public void setLogicalPartitionProcessorCompatibilityModeCapable(
            String logicalPartitionProcessorCompatibilityModeCapable) {
        this.logicalPartitionProcessorCompatibilityModeCapable = logicalPartitionProcessorCompatibilityModeCapable;
    }

    public String getLogicalPartitionAvailabilityPriorityCapable() {
        return logicalPartitionAvailabilityPriorityCapable;
    }

    public void setLogicalPartitionAvailabilityPriorityCapable(String logicalPartitionAvailabilityPriorityCapable) {
        this.logicalPartitionAvailabilityPriorityCapable = logicalPartitionAvailabilityPriorityCapable;
    }

    public String getElectronicErrorReportingCapable() {
        return electronicErrorReportingCapable;
    }

    public void setElectronicErrorReportingCapable(String electronicErrorReportingCapable) {
        this.electronicErrorReportingCapable = electronicErrorReportingCapable;
    }

    public String getActiveLogicalPartitionSharedIdeProcessorsCapable() {
        return activeLogicalPartitionSharedIdeProcessorsCapable;
    }

    public void setActiveLogicalPartitionSharedIdeProcessorsCapable(
            String activeLogicalPartitionSharedIdeProcessorsCapable) {
        this.activeLogicalPartitionSharedIdeProcessorsCapable = activeLogicalPartitionSharedIdeProcessorsCapable;
    }

    public String getFirmwarePowerSaverCapable() {
        return firmwarePowerSaverCapable;
    }

    public void setFirmwarePowerSaverCapable(String firmwarePowerSaverCapable) {
        this.firmwarePowerSaverCapable = firmwarePowerSaverCapable;
    }

    public String getHardwarePowerSaverCapable() {
        return hardwarePowerSaverCapable;
    }

    public void setHardwarePowerSaverCapable(String hardwarePowerSaverCapable) {
        this.hardwarePowerSaverCapable = hardwarePowerSaverCapable;
    }

    public String getVirtualSwitchCapable() {
        return virtualSwitchCapable;
    }

    public void setVirtualSwitchCapable(String virtualSwitchCapable) {
        this.virtualSwitchCapable = virtualSwitchCapable;
    }

    public String getVirtualFiberChannelCapable() {
        return virtualFiberChannelCapable;
    }

    public void setVirtualFiberChannelCapable(String virtualFiberChannelCapable) {
        this.virtualFiberChannelCapable = virtualFiberChannelCapable;
    }

    public String getIbmiLogicalPartitionSuspendCapable() {
        return ibmiLogicalPartitionSuspendCapable;
    }

    public void setIbmiLogicalPartitionSuspendCapable(String ibmiLogicalPartitionSuspendCapable) {
        this.ibmiLogicalPartitionSuspendCapable = ibmiLogicalPartitionSuspendCapable;
    }

    public String getLogicalPartitionRemoteRestartCapable() {
        return logicalPartitionRemoteRestartCapable;
    }

    public void setLogicalPartitionRemoteRestartCapable(String logicalPartitionRemoteRestartCapable) {
        this.logicalPartitionRemoteRestartCapable = logicalPartitionRemoteRestartCapable;
    }

    public String getVirtualTrustedPlatformModuleCapable() {
        return virtualTrustedPlatformModuleCapable;
    }

    public void setVirtualTrustedPlatformModuleCapable(String virtualTrustedPlatformModuleCapable) {
        this.virtualTrustedPlatformModuleCapable = virtualTrustedPlatformModuleCapable;
    }

    public String getActiveSystemOptimizerCapable() {
        return activeSystemOptimizerCapable;
    }

    public void setActiveSystemOptimizerCapable(String activeSystemOptimizerCapable) {
        this.activeSystemOptimizerCapable = activeSystemOptimizerCapable;
    }

    public String getVirtualServerNetworkingPhase2Capable() {
        return virtualServerNetworkingPhase2Capable;
    }

    public void setVirtualServerNetworkingPhase2Capable(String virtualServerNetworkingPhase2Capable) {
        this.virtualServerNetworkingPhase2Capable = virtualServerNetworkingPhase2Capable;
    }

    public String getPowerVMLogicalPartitionSimplifiedRemoteRestartCapable() {
        return powerVMLogicalPartitionSimplifiedRemoteRestartCapable;
    }

    public void setPowerVMLogicalPartitionSimplifiedRemoteRestartCapable(
            String powerVMLogicalPartitionSimplifiedRemoteRestartCapable) {
        this.powerVMLogicalPartitionSimplifiedRemoteRestartCapable = powerVMLogicalPartitionSimplifiedRemoteRestartCapable;
    }

    public String getSharedProcessorPoolCapable() {
        return sharedProcessorPoolCapable;
    }

    public void setSharedProcessorPoolCapable(String sharedProcessorPoolCapable) {
        this.sharedProcessorPoolCapable = sharedProcessorPoolCapable;
    }

    public String getVirtualEthernetCustomMACAddressCapable() {
        return virtualEthernetCustomMACAddressCapable;
    }

    public void setVirtualEthernetCustomMACAddressCapable(String virtualEthernetCustomMACAddressCapable) {
        this.virtualEthernetCustomMACAddressCapable = virtualEthernetCustomMACAddressCapable;
    }
}
