package com.sequenceiq.cloudbreak.api.model; import java.util.Collection; import java.util.EnumSet; public enum DatabaseVendor { POSTGRES("postgres", "Postgres"), MYSQL("mysql", "MySQL"), MARIADB("mysql", "MySQL"), MSSQL("mssql", "SQLServer"), ORACLE("oracle", "Oracle"), SQLANYWHERE("sqlanywhere", "SQLAnywhere"), EMBEDDED("embedded", ""); private final String value; private final String fancyName; DatabaseVendor(String value, String fancyName) { this.value = value; this.fancyName = fancyName; } public final String value() { return value; } public final String fancyName() { return fancyName; } public static DatabaseVendor fromValue(String value) { for (DatabaseVendor vendor : values()) { if (vendor.value.equals(value)) { return vendor; } } throw new UnsupportedOperationException("Not a DatabaseVendor value"); } public static Collection<DatabaseVendor> availableVendors() { return EnumSet.complementOf(EnumSet.of(DatabaseVendor.EMBEDDED)); } public static Collection<DatabaseVendor> outOfTheBoxVendors() { return EnumSet.of(DatabaseVendor.POSTGRES, DatabaseVendor.MYSQL, DatabaseVendor.MARIADB); } }