Class PlatformConfig

java.lang.Object
io.ebean.config.PlatformConfig

public class PlatformConfig
extends Object
Configuration for DB types such as UUID, Geometry etc.
  • Constructor Details

    • PlatformConfig

      public PlatformConfig()
      Construct with defaults.
    • PlatformConfig

      public PlatformConfig​(PlatformConfig platformConfig)
      Construct based on given config - typically for DbMigration generation with many platforms.
  • Method Details

    • getConstraintNaming

    • setConstraintNaming

      public void setConstraintNaming​(DbConstraintNaming constraintNaming)
      Set a custom database constraint naming convention.
    • isAllQuotedIdentifiers

      public boolean isAllQuotedIdentifiers()
      Return true if all DB column and table names should use quoted identifiers.
    • setAllQuotedIdentifiers

      public void setAllQuotedIdentifiers​(boolean allQuotedIdentifiers)
      Set to true if all DB column and table names should use quoted identifiers.
    • isCaseSensitiveCollation

      public boolean isCaseSensitiveCollation()
      Return true if the collation is case sensitive.
    • setCaseSensitiveCollation

      public void setCaseSensitiveCollation​(boolean caseSensitiveCollation)
      Set to false to indicate that the collation is case insensitive.
    • isForUpdateNoKey

      public boolean isForUpdateNoKey()
      Return true if Postgres FOR UPDATE should use the NO KEY option.
    • setForUpdateNoKey

      public void setForUpdateNoKey​(boolean forUpdateNoKey)
      Set to true such that Postgres FOR UPDATE should use the NO KEY option.
    • getDatabaseBooleanTrue

      Return a value used to represent TRUE in the database.

      This is used for databases that do not support boolean natively.

      The value returned is either a Integer or a String (e.g. "1", or "T").

    • setDatabaseBooleanTrue

      public void setDatabaseBooleanTrue​(String databaseBooleanTrue)
      Set the value to represent TRUE in the database.

      This is used for databases that do not support boolean natively.

      The value set is either a Integer or a String (e.g. "1", or "T").

    • getDatabaseBooleanFalse

      Return a value used to represent FALSE in the database.
    • setDatabaseBooleanFalse

      public void setDatabaseBooleanFalse​(String databaseBooleanFalse)
      Set the value used to represent FALSE in the database.
    • getDatabaseSequenceBatchSize

      Return the number of DB sequence values that should be preallocated.
    • setDatabaseSequenceBatchSize

      public void setDatabaseSequenceBatchSize​(int databaseSequenceBatchSize)
      Set the number of DB sequence values that should be preallocated.
    • getGeometrySRID

      public int getGeometrySRID()
      Return the Geometry SRID.
    • setGeometrySRID

      public void setGeometrySRID​(int geometrySRID)
      Set the Geometry SRID.
    • getDbUuid

      Return the DB type used to store UUID.
    • setDbUuid

      public void setDbUuid​(PlatformConfig.DbUuid dbUuid)
      Set the DB type used to store UUID.
    • getIdType

      public IdType getIdType()
      Return the IdType to use (or null for the default choice).
    • setIdType

      public void setIdType​(IdType idType)
      Set the IdType to use (when the DB supports both SEQUENCE and IDENTITY and the default is not desired).
    • isDatabaseInetAddressVarchar

      public boolean isDatabaseInetAddressVarchar()
      Return true if InetAddress should map to varchar column (rather than Postgres INET).
    • setDatabaseInetAddressVarchar

      public void setDatabaseInetAddressVarchar​(boolean databaseInetAddressVarchar)
      Set to true to force InetAddress to map to varchar column.
    • addCustomMapping

      public void addCustomMapping​(DbType type, String columnDefinition, io.ebean.annotation.Platform platform)
      Add a custom type mapping.
      
      
         // set the default mapping for BigDecimal.class/decimal
         config.addCustomMapping(DbType.DECIMAL, "decimal(18,6)");
      
         // set the default mapping for String.class/varchar but only for Postgres
         config.addCustomMapping(DbType.VARCHAR, "text", Platform.POSTGRES);
      
       
      Parameters:
      type - The DB type this mapping should apply to
      columnDefinition - The column definition that should be used
      platform - Optionally specify the platform this mapping should apply to.
    • addCustomMapping

      public void addCustomMapping​(DbType type, String columnDefinition)
      Add a custom type mapping that applies to all platforms.
      
      
         // set the default mapping for BigDecimal/decimal
         config.addCustomMapping(DbType.DECIMAL, "decimal(18,6)");
      
         // set the default mapping for String/varchar
         config.addCustomMapping(DbType.VARCHAR, "text");
      
       
      Parameters:
      type - The DB type this mapping should apply to
      columnDefinition - The column definition that should be used
    • getCustomTypeMappings

      Return the list of custom type mappings.
    • loadSettings

      public void loadSettings​(PropertiesWrapper p)