Coverage Report - liquibase.executor.jvm.SqlParameter
 
Classes in this File Line Coverage Branch Coverage Complexity
SqlParameter
0%
0/37
N/A
1
 
 1  
 package liquibase.executor.jvm;
 2  
 
 3  
 /**
 4  
  * Object to represent a SQL parameter definition.
 5  
  * <p/>
 6  
  * <p>
 7  
  * Parameters may be anonymous, in which case "name" is <code>null</code>. However, all parameters must define a SQL
 8  
  * type according to {@link java.sql.Types}.
 9  
  * 
 10  
  * @author Spring Framework
 11  
  * @see java.sql.Types
 12  
  */
 13  
 class SqlParameter {
 14  
 
 15  
     /**
 16  
      * The name of the parameter, if any
 17  
      */
 18  
     private String name;
 19  
 
 20  
     /**
 21  
      * SQL type constant from <code>java.sql.Types</code>
 22  
      */
 23  
     private final int sqlType;
 24  
 
 25  
     /**
 26  
      * Used for types that are user-named like: STRUCT, DISTINCT, JAVA_OBJECT, named array types
 27  
      */
 28  
     private String typeName;
 29  
 
 30  
     /**
 31  
      * The scale to apply in case of a NUMERIC or DECIMAL type, if any
 32  
      */
 33  
     private Integer scale;
 34  
 
 35  
     /**
 36  
      * Create a new anonymous SqlParameter, supplying the SQL type.
 37  
      * 
 38  
      * @param sqlType
 39  
      *            SQL type of the parameter according to <code>java.sql.Types</code>
 40  
      */
 41  0
     public SqlParameter(int sqlType) {
 42  0
         this.sqlType = sqlType;
 43  0
     }
 44  
 
 45  
     /**
 46  
      * Create a new anonymous SqlParameter, supplying the SQL type.
 47  
      * 
 48  
      * @param sqlType
 49  
      *            SQL type of the parameter according to <code>java.sql.Types</code>
 50  
      * @param typeName
 51  
      *            the type name of the parameter (optional)
 52  
      */
 53  0
     public SqlParameter(int sqlType, String typeName) {
 54  0
         this.sqlType = sqlType;
 55  0
         this.typeName = typeName;
 56  0
     }
 57  
 
 58  
     /**
 59  
      * Create a new anonymous SqlParameter, supplying the SQL type.
 60  
      * 
 61  
      * @param sqlType
 62  
      *            SQL type of the parameter according to <code>java.sql.Types</code>
 63  
      * @param scale
 64  
      *            the number of digits after the decimal point (for DECIMAL and NUMERIC types)
 65  
      */
 66  0
     public SqlParameter(int sqlType, int scale) {
 67  0
         this.sqlType = sqlType;
 68  0
         this.scale = scale;
 69  0
     }
 70  
 
 71  
     /**
 72  
      * Create a new SqlParameter, supplying name and SQL type.
 73  
      * 
 74  
      * @param name
 75  
      *            name of the parameter, as used in input and output maps
 76  
      * @param sqlType
 77  
      *            SQL type of the parameter according to <code>java.sql.Types</code>
 78  
      */
 79  0
     public SqlParameter(String name, int sqlType) {
 80  0
         this.name = name;
 81  0
         this.sqlType = sqlType;
 82  0
     }
 83  
 
 84  
     /**
 85  
      * Create a new SqlParameter, supplying name and SQL type.
 86  
      * 
 87  
      * @param name
 88  
      *            name of the parameter, as used in input and output maps
 89  
      * @param sqlType
 90  
      *            SQL type of the parameter according to <code>java.sql.Types</code>
 91  
      * @param typeName
 92  
      *            the type name of the parameter (optional)
 93  
      */
 94  0
     public SqlParameter(String name, int sqlType, String typeName) {
 95  0
         this.name = name;
 96  0
         this.sqlType = sqlType;
 97  0
         this.typeName = typeName;
 98  0
     }
 99  
 
 100  
     /**
 101  
      * Create a new SqlParameter, supplying name and SQL type.
 102  
      * 
 103  
      * @param name
 104  
      *            name of the parameter, as used in input and output maps
 105  
      * @param sqlType
 106  
      *            SQL type of the parameter according to <code>java.sql.Types</code>
 107  
      * @param scale
 108  
      *            the number of digits after the decimal point (for DECIMAL and NUMERIC types)
 109  
      */
 110  0
     public SqlParameter(String name, int sqlType, int scale) {
 111  0
         this.name = name;
 112  0
         this.sqlType = sqlType;
 113  0
         this.scale = scale;
 114  0
     }
 115  
 
 116  
     /**
 117  
      * Copy constructor.
 118  
      * 
 119  
      * @param otherParam
 120  
      *            the SqlParameter object to copy from
 121  
      */
 122  0
     public SqlParameter(SqlParameter otherParam) {
 123  0
         this.name = otherParam.name;
 124  0
         this.sqlType = otherParam.sqlType;
 125  0
         this.typeName = otherParam.typeName;
 126  0
         this.scale = otherParam.scale;
 127  0
     }
 128  
 
 129  
     /**
 130  
      * Return the name of the parameter.
 131  
      */
 132  
     public String getName() {
 133  0
         return this.name;
 134  
     }
 135  
 
 136  
     /**
 137  
      * Return the SQL type of the parameter.
 138  
      */
 139  
     public int getSqlType() {
 140  0
         return this.sqlType;
 141  
     }
 142  
 
 143  
     /**
 144  
      * Return the type name of the parameter, if any.
 145  
      */
 146  
     public String getTypeName() {
 147  0
         return this.typeName;
 148  
     }
 149  
 
 150  
     /**
 151  
      * Return the scale of the parameter, if any.
 152  
      */
 153  
     public Integer getScale() {
 154  0
         return this.scale;
 155  
     }
 156  
 
 157  
     /**
 158  
      * Return whether this parameter holds input values that should be set before execution even if they are
 159  
      * <code>null</code>.
 160  
      * <p>
 161  
      * This implementation always returns <code>true</code>.
 162  
      */
 163  
     public boolean isInputValueProvided() {
 164  0
         return true;
 165  
     }
 166  
 
 167  
     /**
 168  
      * Return whether this parameter is an implicit return parameter used during the reults preocessing of the
 169  
      * CallableStatement.getMoreResults/getUpdateCount.
 170  
      * <p>
 171  
      * This implementation always returns <code>false</code>.
 172  
      */
 173  
     public boolean isResultsParameter() {
 174  0
         return false;
 175  
     }
 176  
 }