/**
* Copyright (c) 2014-2017 by the respective copyright holders.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.eclipse.smarthome.config.core.dto;
import java.math.BigDecimal;
import java.util.List;
import org.eclipse.smarthome.config.core.ConfigDescriptionParameter.Type;
/**
* This is a data transfer object that is used to serialize parameter of a
* configuration description.
*
* @author Dennis Nobel - Initial contribution
* @author Alex Tugarev - Extended for options and filter criteria
* @author Chris Jackson - Added group, advanced, limitToOptions, multipleLimit, verify attributes
* @author Thomas Höfer - Added unit
*/
public class ConfigDescriptionParameterDTO {
public String context;
public String defaultValue;
public String description;
public String label;
public String name;
public boolean required;
public Type type;
public BigDecimal min;
public BigDecimal max;
public BigDecimal stepsize;
public String pattern;
public Boolean readOnly;
public Boolean multiple;
public Integer multipleLimit;
public String groupName;
public Boolean advanced;
public Boolean verify;
public Boolean limitToOptions;
public String unit;
public String unitLabel;
public List<ParameterOptionDTO> options;
public List<FilterCriteriaDTO> filterCriteria;
public ConfigDescriptionParameterDTO() {
}
public ConfigDescriptionParameterDTO(String name, Type type, BigDecimal minimum, BigDecimal maximum,
BigDecimal stepsize, String pattern, Boolean required, Boolean readOnly, Boolean multiple, String context,
String defaultValue, String label, String description, List<ParameterOptionDTO> options,
List<FilterCriteriaDTO> filterCriteria, String groupName, Boolean advanced, Boolean limitToOptions,
Integer multipleLimit, String unit, String unitLabel, Boolean verify) {
this.name = name;
this.type = type;
this.min = minimum;
this.max = maximum;
this.stepsize = stepsize;
this.pattern = pattern;
this.readOnly = readOnly;
this.multiple = multiple;
this.context = context;
this.required = required;
this.defaultValue = defaultValue;
this.label = label;
this.description = description;
this.options = options;
this.filterCriteria = filterCriteria;
this.groupName = groupName;
this.advanced = advanced;
this.limitToOptions = limitToOptions;
this.multipleLimit = multipleLimit;
this.unit = unit;
this.unitLabel = unitLabel;
this.verify = verify;
}
}