EN · DE · RU · FR · ES

#538: ScriptParameter.java

projectforge-business/src/main/java/org/projectforge/business/scripting/ScriptParameter.java Tipo: Java · Rol: Scripting · Fuente: projectforge-business/src/main/java/org/projectforge/business/scripting/ScriptParameter.java 323 líneas · 252 código · 25 comentarios · 46 en blanco
Archivo de código fuente en projectforge-business/src/main/java/org/projectforge/business/scripting/ScriptParameter.java que contiene código Java para la capa de Scripting.

Estructura del código

Paquete: org.projectforge.business.scripting

Clases: ScriptParameter

Implementa: Serializable

Métodos (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...

Campos (10): serialVersionUID, type, parameterName, parameterDescription, stringValue, intValue, decimalValue, booleanValue, dateValue, timePeriodValue

Importaciones: 9 paquetes

Código fuente (resumido)

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 es de tipo 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("Tipo de parámetro '" + type + "' no soportado.");
  }

  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("Tipo de parámetro '" + type + "' no soportado.");
    }
  }

  public Class<?> getValueClass() {
     if (type == ScriptParameterType.DECIMAL) {
      return BigDecimal.class;
    } else if (type == ScriptParameterType.DATE) {
      return LocalDate.class;
    } else if (type == ScriptParameterType.TIME_PERIOD) {
// ... (truncado, total 301 líneas)

Historial Git

868d6abb7 2025 -> 2026
f84a49eba Scripting: Descripción para parámetros de script añadida.
63081666f Encabezados de archivos fuente: 2024 -> 2025.
4c04cfd65 CAMBIO MAYOR: Migración de identificadores integer a Long (incluyendo claves foráneas, etc.)
b6092df09 Copyright 2023 -> 2024