CustomField.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.generic_project.beans;

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

  29.     private String columnName;
  30.     private String tableName;
  31.    
  32.     private String aliasColumnName;
  33.     private String aliasTableName;
  34.    
  35.     public CustomField(String fieldName,Class<?> fieldType,String columnName,String tableName){
  36.         super(fieldName, fieldType, CustomField.class.getSimpleName(), CustomField.class);
  37.         this.columnName = columnName;
  38.         this.tableName = tableName;
  39.     }
  40.     public CustomField(String fieldName,Class<?> fieldType,
  41.             String columnName,String aliasColumnName,
  42.             String tableName, String aliasTableName){
  43.         super(fieldName, fieldType, CustomField.class.getSimpleName(), CustomField.class);
  44.         this.columnName = columnName;
  45.         this.aliasColumnName = aliasColumnName;
  46.         this.tableName = tableName;
  47.         this.aliasTableName = tableName;
  48.     }

  49.     public String getColumnName() {
  50.         return this.columnName;
  51.     }
  52.     public String getAliasColumnName() {
  53.         if(this.aliasColumnName!=null){
  54.             return this.aliasColumnName;
  55.         }
  56.         else{
  57.             return this.columnName;
  58.         }
  59.     }
  60.    
  61.     public String getTableName() {
  62.         return this.tableName;
  63.     }
  64.     public String getAliasTableName() {
  65.         if(this.aliasTableName!=null){
  66.             return this.aliasTableName;
  67.         }
  68.         else{
  69.             return this.tableName;
  70.         }
  71.     }

  72.     @Override
  73.     public String toString(int indent){
  74.        
  75.         StringBuilder indentBuffer = new StringBuilder();
  76.         for (int i = 0; i < indent; i++) {
  77.             indentBuffer.append("   ");
  78.         }
  79.        
  80.         StringBuilder bf = new StringBuilder(super.toString(indent));
  81.        
  82.         bf.append(indentBuffer.toString());
  83.         bf.append("- column name: "+this.columnName);
  84.         bf.append("\n");
  85.        
  86.         bf.append(indentBuffer.toString());
  87.         bf.append("- alias column name: "+this.aliasColumnName);
  88.         bf.append("\n");
  89.        
  90.         bf.append(indentBuffer.toString());
  91.         bf.append("- table name: "+this.tableName);
  92.         bf.append("\n");
  93.        
  94.         bf.append(indentBuffer.toString());
  95.         bf.append("- alias table name: "+this.aliasTableName);
  96.         bf.append("\n");
  97.        
  98.         return bf.toString();
  99.     }

  100. }