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 preferred platform for 10+. 040 */ 041 POSTGRES, 042 043 /** 044 * Postgres 9. 045 */ 046 POSTGRES9(POSTGRES), 047 048 /** 049 * MySql. 050 */ 051 MYSQL, 052 053 /** 054 * MySql 5.5. 055 */ 056 MYSQL55(MYSQL), 057 058 /** 059 * MariaDB. 060 */ 061 MARIADB, 062 063 /** 064 * NuoDB. 065 */ 066 NUODB, 067 068 /** 069 * Oracle preferred platform 12c and higher. 070 */ 071 ORACLE, 072 073 /** 074 * Oracle 11 platform. 075 */ 076 ORACLE11(ORACLE), 077 078 /** 079 * SQLAnywhere. 080 */ 081 SQLANYWHERE, 082 083 /** 084 * SQLite. 085 */ 086 SQLITE, 087 088 /** 089 * Microsoft SQL Server (preferred platform 2017). 090 */ 091 SQLSERVER, 092 093 /** 094 * Microsoft SQL Server 2016 platform (Non UTF8 types and Identity by default). 095 */ 096 SQLSERVER16(SQLSERVER), 097 098 /** 099 * Microsoft SQL Server 2017 platform (UTF8 types and Sequence). 100 */ 101 SQLSERVER17(SQLSERVER), 102 103 /** 104 * SAP HANA 105 */ 106 HANA; 107 108 private Platform base; 109 110 Platform() { 111 this.base = this; 112 } 113 114 Platform(Platform base) { 115 this.base = base; 116 } 117 118 /** 119 * Return the base platform. 120 */ 121 public Platform base() { 122 return base; 123 } 124}