package com.dcs.equipment.exception.device;

import lombok.Data;

/**
 * 设备参数异常
 * @author: wangpx
 * @date: 2025-07-22 14:55
 */
@Data
public class DeviceParameterException extends DeviceException {
    private static final long serialVersionUID = 1L;
    private String parameterName;
    private Object parameterValue;
    private String expectedRange;

    public DeviceParameterException() {
        super();
    }

    public DeviceParameterException(String message) {
        super(message);
    }

    public DeviceParameterException(String message, Integer code) {
        super(message, code);
    }

    public DeviceParameterException(String message, String parameterName, Object parameterValue) {
        super(message);
        this.parameterName = parameterName;
        this.parameterValue = parameterValue;
    }

    public DeviceParameterException(String message, Integer code, String parameterName, Object parameterValue) {
        super(message, code);
        this.parameterName = parameterName;
        this.parameterValue = parameterValue;
    }

    public DeviceParameterException(String message, String parameterName, Object parameterValue, String expectedRange) {
        super(message);
        this.parameterName = parameterName;
        this.parameterValue = parameterValue;
        this.expectedRange = expectedRange;
    }

    public DeviceParameterException(String message, Integer code, String parameterName, Object parameterValue, String expectedRange) {
        super(message, code);
        this.parameterName = parameterName;
        this.parameterValue = parameterValue;
        this.expectedRange = expectedRange;
    }

    public DeviceParameterException(Exception e) {
        super(e);
    }

    public DeviceParameterException(Exception e, String parameterName, Object parameterValue) {
        super(e);
        this.parameterName = parameterName;
        this.parameterValue = parameterValue;
    }
} 