content: /*
   *  Copyright (c) 2023-2025, Agents-Flex (fuhai999@gmail.com).
   *  <p>
   *  Licensed under the Apache License, Version 2.0 (the "License");
   *  you may not use this file except in compliance with the License.
   *  You may obtain a copy of the License at
   *  <p>
   *  http://www.apache.org/licenses/LICENSE-2.0
   *  <p>
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   */
  package com.agentsflex.core.llm.functions;
  
  import java.io.Serializable;
  import java.util.ArrayList;
  import java.util.List;
  
  public class Parameter implements Serializable {
  
      protected String name;
      protected String type;
      protected String description;
      protected String[] enums;
      protected boolean required = false;
      protected List<Parameter> children;
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public String getType() {
          return type;
      }
  
      public void setType(String type) {
          this.type = type;
      }
  
      public String getDescription() {
          return description;
      }
  
      public void setDescription(String description) {
          this.description = description;
      }
  
      public String[] getEnums() {
          return enums;
      }
  
      public void setEnums(String[] enums) {
          this.enums = enums;
      }
  
      public boolean isRequired() {
          return required;
      }
  
      public void setRequired(boolean required) {
          this.required = required;
      }
  
      public List<Parameter> getChildren() {
          return children;
      }
  
      public void setChildren(List<Parameter> children) {
          this.children = children;
      }
  
      public void addChild(Parameter parameter) {
          if (children == null) {
              children = new ArrayList<>();
          }
          children.add(parameter);
      }
  }