package com.bocloud.cmp.model.hmc.sdk.module;

import com.alibaba.fastjson.JSON;
import com.bocloud.cmp.model.hmc.sdk.common.Metadata;

public class PartitionProcessorConfiguration {
    private Metadata metadata;
    private DedicatedProcessorConfiguration dedicatedProcessorConfiguration;
    private String hasDedicatedProcessors;
    private SharedProcessorConfiguration sharedProcessorConfiguration;
    private String sharingMode;
    private String currentHasDedicatedProcessors;
    private String currentSharingMode;
    private CurrentDedicatedProcessorConfiguration currentDedicatedProcessorConfiguration;
    private String runtimeHasDedicatedProcessors;
    private CurrentSharedProcessorConfiguration currentSharedProcessorConfiguration;

    public PartitionProcessorConfiguration() {
    }

    public Metadata getMetadata() {
        return metadata;
    }

    public void setMetadata(Metadata metadata) {
        this.metadata = metadata;
    }

    public String getHasDedicatedProcessors() {
        return hasDedicatedProcessors;
    }

    public void setHasDedicatedProcessors(String hasDedicatedProcessors) {
        this.hasDedicatedProcessors = hasDedicatedProcessors;
    }

    public String getSharingMode() {
        return sharingMode;
    }

    public void setSharingMode(String sharingMode) {
        this.sharingMode = sharingMode;
    }

    public String getCurrentHasDedicatedProcessors() {
        return currentHasDedicatedProcessors;
    }

    public void setCurrentHasDedicatedProcessors(String currentHasDedicatedProcessors) {
        this.currentHasDedicatedProcessors = currentHasDedicatedProcessors;
    }

    public String getCurrentSharingMode() {
        return currentSharingMode;
    }

    public void setCurrentSharingMode(String currentSharingMode) {
        this.currentSharingMode = currentSharingMode;
    }

    public String getRuntimeHasDedicatedProcessors() {
        return runtimeHasDedicatedProcessors;
    }

    public void setRuntimeHasDedicatedProcessors(String runtimeHasDedicatedProcessors) {
        this.runtimeHasDedicatedProcessors = runtimeHasDedicatedProcessors;
    }

    public SharedProcessorConfiguration getSharedProcessorConfiguration() {
        return sharedProcessorConfiguration;
    }

    public void setSharedProcessorConfiguration(SharedProcessorConfiguration sharedProcessorConfiguration) {
        this.sharedProcessorConfiguration = sharedProcessorConfiguration;
    }

    public CurrentSharedProcessorConfiguration getCurrentSharedProcessorConfiguration() {
        return currentSharedProcessorConfiguration;
    }

    public void setCurrentSharedProcessorConfiguration(
        CurrentSharedProcessorConfiguration currentSharedProcessorConfiguration) {
        this.currentSharedProcessorConfiguration = currentSharedProcessorConfiguration;
    }

    /**
     * @return the dedicatedProcessorConfiguration
     */
    public DedicatedProcessorConfiguration getDedicatedProcessorConfiguration() {
        return dedicatedProcessorConfiguration;
    }

    /**
     * @param dedicatedProcessorConfiguration the dedicatedProcessorConfiguration to set
     */
    public void setDedicatedProcessorConfiguration(DedicatedProcessorConfiguration dedicatedProcessorConfiguration) {
        this.dedicatedProcessorConfiguration = dedicatedProcessorConfiguration;
    }

    /**
     * @return the currentDedicatedProcessorConfiguration
     */
    public CurrentDedicatedProcessorConfiguration getCurrentDedicatedProcessorConfiguration() {
        return currentDedicatedProcessorConfiguration;
    }

    /**
     * @param currentDedicatedProcessorConfiguration the currentDedicatedProcessorConfiguration to set
     */
    public void setCurrentDedicatedProcessorConfiguration(
        CurrentDedicatedProcessorConfiguration currentDedicatedProcessorConfiguration) {
        this.currentDedicatedProcessorConfiguration = currentDedicatedProcessorConfiguration;
    }

    @Override
    public String toString() {
        return JSON.toJSONString(this, true);
    }
}
