<commit_before>package com.flipkart.perf.function;

import com.flipkart.perf.common.jackson.ObjectMapperUtil;

import java.io.IOException;

/**
 * Class can be used by user/loader-ui to understand
 * what are the required parameters to make a particular function work properly
 */
public class FunctionParameter {
    private String name;
    private String description;
    private boolean mandatory;
    private Object defaultValue;

    public String getName() {
        return name;
    }

    public FunctionParameter setName(String name) {
        this.name = name;
        return this;
    }

    public String getDescription() {
        return description;
    }

    public FunctionParameter setDescription(String description) {
        this.description = description;
        return this;
    }

    public boolean isMandatory() {
        return mandatory;
    }

    public FunctionParameter setMandatory(boolean mandatory) {
        this.mandatory = mandatory;
        return this;
    }

    public Object getDefaultValue() {
        return defaultValue;
    }

    public FunctionParameter setDefaultValue(Object defaultValue) {
        this.defaultValue = defaultValue;
        return this;
    }

    public String toString() {
        try {<commit_msg>Data Type has been added for Input parameter of Performance Function<commit_after>package com.flipkart.perf.function;

import com.flipkart.perf.common.jackson.ObjectMapperUtil;

import java.io.IOException;

/**
 * Class can be used by user/loader-ui to understand
 * what are the required parameters to make a particular function work properly
 */
enum ParameterType {
    SCALER, LIST, MAP
}
public class FunctionParameter {
    private String name;
    private String description;
    private boolean mandatory;
    private Object defaultValue;
    private ParameterType type = ParameterType.SCALER;

    public String getName() {
        return name;
    }

    public FunctionParameter setName(String name) {
        this.name = name;
        return this;
    }

    public String getDescription() {
        return description;
    }

    public FunctionParameter setDescription(String description) {
        this.description = description;
        return this;
    }

    public boolean isMandatory() {
        return mandatory;
    }

    public FunctionParameter setMandatory(boolean mandatory) {
        this.mandatory = mandatory;
        return this;
    }

    public Object getDefaultValue() {
        return defaultValue;
    }

    public FunctionParameter setDefaultValue(Object defaultValue) {
        this.defaultValue = defaultValue;
        return this;
    }

    public ParameterType getType() {
        return type;
    }

    public FunctionParameter setType(ParameterType type) {
        this.type = type;
        return this;
    }

    public String toString() {
        try {
{'fraction_non_alphanumeric': 0.06687565308254964, 'fraction_numerical': 0.0, 'mean_word_length': 2.677336747759283, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5453992', 'n_tokens_mistral': 733, 'n_tokens_neox': 707, 'n_words': 226}