ParserMappingRecord.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */

  20. package org.openspcoop2.utils.csv;

  21. /**
  22.  * ParserMappingRecord
  23.  *
  24.  * @author Andrea Poli (apoli@link.it)
  25.  * @author $Author$
  26.  * @version $Rev$, $Date$
  27.  */
  28. public class ParserMappingRecord {

  29.     public static ParserMappingRecord newCsvColumnPositionRecord(String name,Integer csvPosition){
  30.         return newCsvColumnPositionRecord(name, csvPosition, null, null, (String[]) null);
  31.     }
  32.     public static ParserMappingRecord newCsvColumnPositionRecord(String name,Integer csvPosition,String defaultValue){
  33.         return newCsvColumnPositionRecord(name, csvPosition, defaultValue, null, (String[]) null);
  34.     }
  35.     public static ParserMappingRecord newCsvColumnPositionRecord(String name,Integer csvPosition,String ... regexpr){
  36.         return newCsvColumnPositionRecord(name, csvPosition, null, null, regexpr);
  37.     }
  38.     public static ParserMappingRecord newCsvColumnPositionRecord(String name,Integer csvPosition,ParserRegexpNotFound regexpNotFoundBehaviour,String ... regexpr){
  39.         return newCsvColumnPositionRecord(name, csvPosition, null, regexpNotFoundBehaviour, regexpr);
  40.     }
  41.     public static ParserMappingRecord newCsvColumnPositionRecord(String name,Integer csvPosition,String defaultValue,String ... regexpr){
  42.         return newCsvColumnPositionRecord(name, csvPosition, defaultValue, null, regexpr);
  43.     }
  44.     public static ParserMappingRecord newCsvColumnPositionRecord(String name,Integer csvPosition,String defaultValue,ParserRegexpNotFound regexpNotFoundBehaviour,String ... regexpr){
  45.         ParserMappingRecord pmr = new ParserMappingRecord();
  46.         pmr.name=name;
  47.         pmr.csvPosition=csvPosition;
  48.         pmr.defaultValue = defaultValue;
  49.         pmr.regexpr=regexpr;
  50.         if(regexpNotFoundBehaviour!=null)
  51.             pmr.regexpNotFoundBehaviour=regexpNotFoundBehaviour;
  52.         return pmr;
  53.     }
  54.    
  55.    
  56.     public static ParserMappingRecord newCsvColumnNameRecord(String name,String csvColumnName){
  57.         return newCsvColumnNameRecord(name, csvColumnName, null, null, (String[]) null);
  58.     }
  59.     public static ParserMappingRecord newCsvColumnNameRecord(String name,String csvColumnName,String defaultValue){
  60.         return newCsvColumnNameRecord(name, csvColumnName, defaultValue, null, (String[]) null);
  61.     }
  62.     public static ParserMappingRecord newCsvColumnNameRecord(String name,String csvColumnName,String ... regexpr){
  63.         return newCsvColumnNameRecord(name, csvColumnName, null, null, regexpr);
  64.     }
  65.     public static ParserMappingRecord newCsvColumnNameRecord(String name,String csvColumnName,ParserRegexpNotFound regexpNotFoundBehaviour,String ... regexpr){
  66.         return newCsvColumnNameRecord(name, csvColumnName, null, regexpNotFoundBehaviour, regexpr);
  67.     }
  68.     public static ParserMappingRecord newCsvColumnNameRecord(String name,String csvColumnName,String defaultValue,String ... regexpr){
  69.         return newCsvColumnNameRecord(name, csvColumnName, defaultValue, null, regexpr);
  70.     }
  71.     public static ParserMappingRecord newCsvColumnNameRecord(String name,String csvColumnName,String defaultValue,ParserRegexpNotFound regexpNotFoundBehaviour,String ... regexpr){
  72.         ParserMappingRecord pmr = new ParserMappingRecord();
  73.         pmr.name=name;
  74.         pmr.csvColumnName=csvColumnName;
  75.         pmr.defaultValue = defaultValue;
  76.         pmr.regexpr=regexpr;
  77.         if(regexpNotFoundBehaviour!=null)
  78.             pmr.regexpNotFoundBehaviour=regexpNotFoundBehaviour;
  79.         return pmr;
  80.     }
  81.    
  82.    
  83.     public static ParserMappingRecord newCsvConstantRecord(String name,String constantValue){
  84.         ParserMappingRecord pmr = new ParserMappingRecord();
  85.         pmr.name=name;
  86.         pmr.constantValue=constantValue;
  87.         return pmr;
  88.     }
  89.    
  90.     private ParserMappingRecord(){}
  91.    
  92.    
  93.     private boolean required = false;
  94.     private String name;
  95.     private Integer csvPosition;
  96.     private String csvColumnName;
  97.     private String [] regexpr;
  98.     private ParserRegexpNotFound regexpNotFoundBehaviour = ParserRegexpNotFound.NULL;
  99.     private String constantValue;
  100.     private String defaultValue;
  101.    
  102.     public boolean isRequired() {
  103.         return this.required;
  104.     }
  105.     public void setRequired(boolean required) {
  106.         this.required = required;
  107.     }
  108.     public String getName() {
  109.         return this.name;
  110.     }
  111.     public Integer getCsvPosition() {
  112.         return this.csvPosition;
  113.     }
  114.     public String getCsvColumnName() {
  115.         return this.csvColumnName;
  116.     }
  117.     public String [] getRegexpr() {
  118.         return this.regexpr;
  119.     }
  120.     public String getConstantValue() {
  121.         return this.constantValue;
  122.     }
  123.     public ParserRegexpNotFound getRegexpNotFoundBehaviour() {
  124.         return this.regexpNotFoundBehaviour;
  125.     }
  126.     public String getDefaultValue() {
  127.         return this.defaultValue;
  128.     }
  129. }