001package io.ebean.annotation; 002 003/** 004 * Built in supported platforms. 005 */ 006public enum Platform { 007 008 /** 009 * Generic platform configured via properties or code. 010 */ 011 GENERIC, 012 013 /** 014 * DB2. 015 */ 016 DB2, 017 018 /** 019 * CockroachDB. 020 */ 021 COCKROACH, 022 023 /** 024 * ClickHouse. 025 */ 026 CLICKHOUSE, 027 028 /** 029 * H2. 030 */ 031 H2, 032 033 /** 034 * HsqlDB. 035 */ 036 HSQLDB, 037 038 /** 039 * Postgres. 040 */ 041 POSTGRES, 042 043 /** 044 * MySql. 045 */ 046 MYSQL, 047 048 /** 049 * MySql 5.5. 050 */ 051 MYSQL55(MYSQL), 052 053 /** 054 * NuoDB. 055 */ 056 NUODB, 057 058 /** 059 * Oracle. 060 */ 061 ORACLE, 062 063 /** 064 * SQLAnywhere. 065 */ 066 SQLANYWHERE, 067 068 /** 069 * SQLite. 070 */ 071 SQLITE, 072 073 /** 074 * Microsoft SQL Server (preferred platform 2017). 075 */ 076 SQLSERVER, 077 078 /** 079 * Microsoft SQL Server 2016 platform (Non UTF8 types and Identity by default). 080 */ 081 SQLSERVER16(SQLSERVER), 082 083 /** 084 * Microsoft SQL Server 2017 platform (UTF8 types and Sequence). 085 */ 086 SQLSERVER17(SQLSERVER), 087 088 /** 089 * SAP HANA 090 */ 091 HANA; 092 093 private Platform base; 094 095 Platform() { 096 this.base = this; 097 } 098 099 Platform(Platform base) { 100 this.base = base; 101 } 102 103 /** 104 * Return the base platform. 105 */ 106 public Platform base() { 107 return base; 108 } 109}