Class AdlSqlTypeDecorator

java.lang.Object
de.calamanari.adl.sql.AdlSqlTypeDecorator
All Implemented Interfaces:
de.calamanari.adl.cnv.tps.AdlType, AdlSqlType, Serializable

public class AdlSqlTypeDecorator extends Object implements AdlSqlType
Often an AdlSqlTypes behavior will be common resp. applicable in many scenarios but we want to change the formatter or add a type caster. To avoid creating boiler-plate code the AdlSqlTypeDecorator provides an easy solution by composition. A given type gets wrapped to adapt its behavior.
Author:
Karl Eilebrecht
See Also:
  • Method Details

    • getBaseType

      public AdlSqlType getBaseType()
      Specified by:
      getBaseType in interface AdlSqlType
      Specified by:
      getBaseType in interface de.calamanari.adl.cnv.tps.AdlType
    • name

      public String name()
      Specified by:
      name in interface de.calamanari.adl.cnv.tps.AdlType
    • getFormatter

      public de.calamanari.adl.cnv.tps.ArgValueFormatter getFormatter()
      Specified by:
      getFormatter in interface de.calamanari.adl.cnv.tps.AdlType
    • getNativeTypeCaster

      public de.calamanari.adl.cnv.tps.NativeTypeCaster getNativeTypeCaster()
      Specified by:
      getNativeTypeCaster in interface de.calamanari.adl.cnv.tps.AdlType
    • supportsContains

      public boolean supportsContains()
      Specified by:
      supportsContains in interface de.calamanari.adl.cnv.tps.AdlType
    • supportsLessThanGreaterThan

      public boolean supportsLessThanGreaterThan()
      Specified by:
      supportsLessThanGreaterThan in interface de.calamanari.adl.cnv.tps.AdlType
    • getJavaSqlType

      public int getJavaSqlType()
      Specified by:
      getJavaSqlType in interface AdlSqlType
      Returns:
      this is the underlying SQL-type for this type, see Types (mainly for reference and debugging)
    • getQueryParameterCreator

      public QueryParameterCreator getQueryParameterCreator()
      Specified by:
      getQueryParameterCreator in interface AdlSqlType
      Returns:
      the component that can convert a given expression argument of any given AdlType into an SQL-query parameter compliant to this type. NOT NULL.
    • getQueryParameterApplicator

      public QueryParameterApplicator getQueryParameterApplicator()
      Specified by:
      getQueryParameterApplicator in interface AdlSqlType
      Returns:
      the component that can set a parameter (sql-value) on a statement, NOT NULL
    • toString

      public String toString()
      Overrides:
      toString in class Object