ScriptParameter.javaprojectforge-business/src/main/java/org/projectforge/business/scripting/ScriptParameter.java containing Java code for the Scripting layer.Package: org.projectforge.business.scripting
Classes: ScriptParameter
Implements: Serializable
Methods (26): getValue, setValue, getType, getParameterName, getParameterDescription, getStringValue, setStringValue, getIntValue, setIntValue, getDecimalValue, setDecimalValue, getBooleanValue, setBooleanValue, getDateValue, setDateValue, getTimePeriodValue, setTimePeriodValue, setType, setParameterName, setParameterDescription, getTask, setTask, getUser, setUser, getAsString...
Fields (10): serialVersionUID, type, parameterName, parameterDescription, stringValue, intValue, decimalValue, booleanValue, dateValue, timePeriodValue
Imports: 9 packages
package org.projectforge.business.scripting;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.projectforge.business.task.TaskDO;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.projectforge.framework.time.TimePeriod;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
public class ScriptParameter implements Serializable
{
private static final long serialVersionUID = 2270347937331330184L;
@XStreamAsAttribute
protected ScriptParameterType type;
@XStreamAsAttribute
protected String parameterName;
@XStreamOmitField
protected String parameterDescription;
protected String stringValue;
/**
* intValue is of type long.
*/
@XStreamAsAttribute
protected Long intValue;
@XStreamAsAttribute
protected BigDecimal decimalValue;
@XStreamAsAttribute
protected Boolean booleanValue;
@XStreamAsAttribute
protected LocalDate dateValue;
protected transient TaskDO task;
protected transient PFUserDO user;
protected TimePeriod timePeriodValue;
public ScriptParameter()
{
}
public ScriptParameter(final String parameterName, final ScriptParameterType type)
{
this.parameterName = parameterName;
this.type = type;
}
public ScriptParameter(final String parameterName, final ScriptParameterType type, final String description)
{
this(parameterName, type);
this.parameterDescription = description;
}
public Object getValue()
{
if (type == null) {
return null;
} else if (type == ScriptParameterType.STRING) {
return stringValue;
} else if (type == ScriptParameterType.DECIMAL) {
return decimalValue;
} else if (type == ScriptParameterType.DATE) {
return dateValue;
} else if (type == ScriptParameterType.TIME_PERIOD) {
return timePeriodValue;
} else if (type == ScriptParameterType.INTEGER) {
return intValue;
} else if (type == ScriptParameterType.BOOLEAN) {
return booleanValue;
} else if (type == ScriptParameterType.TASK) {
return task;
} else if (type == ScriptParameterType.USER) {
return user;
}
throw new UnsupportedOperationException("Parameter type '" + type + "' not supported.");
}
public void setValue(final Object value)
{
if (type == ScriptParameterType.STRING) {
stringValue = (String) value;
} else if (type == ScriptParameterType.DECIMAL) {
decimalValue = (BigDecimal) value;
} else if (type == ScriptParameterType.DATE) {
dateValue = (LocalDate) value;
} else if (type == ScriptParameterType.TIME_PERIOD) {
timePeriodValue = (TimePeriod) value;
} else if (type == ScriptParameterType.INTEGER) {
intValue = (Long) value;
} else if (type == ScriptParameterType.BOOLEAN) {
booleanValue = (Boolean) value;
} else if (type == ScriptParameterType.TASK) {
setTask((TaskDO) value);
} else if (type == ScriptParameterType.USER) {
setUser((PFUserDO) value);
} else {
throw new UnsupportedOperationException("Parameter type '" + type + "' not supported.");
}
}
public Class<?> getValueClass() {
if (type == ScriptParameterType.DECIMAL) {
return BigDecimal.class;
} else if (type == ScriptParameterType.DATE) {
return LocalDate.class;
} else if (type == ScriptParameterType.TIME_PERIOD) {
// ... (truncated, total 301 lines)
868d6abb7 2025 -> 2026 f84a49eba Scripting: Description for script parameters added. 63081666f Source file headers: 2024-> 2025. 4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.) b6092df09 Copyright 2023 -> 2024