This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/master by this push:
new 3ef9f562 EMPIREDB-456: EnumType: setEnumOptions param type changed
from Class<?> to Class<? extends Enum<?>>
3ef9f562 is described below
commit 3ef9f5620a02b5ad567e245ca05ca6b53e46c06f
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Mar 13 16:36:01 2025 +0100
EMPIREDB-456:
EnumType: setEnumOptions param type changed from Class<?> to Class<?
extends Enum<?>>
---
empire-db/src/main/java/org/apache/empire/commons/Options.java | 7 +++----
empire-db/src/main/java/org/apache/empire/db/DBTable.java | 5 +++--
empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java | 2 +-
empire-db/src/main/java/org/apache/empire/db/DBView.java | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/empire-db/src/main/java/org/apache/empire/commons/Options.java
b/empire-db/src/main/java/org/apache/empire/commons/Options.java
index 01d1fc28..54cba68a 100644
--- a/empire-db/src/main/java/org/apache/empire/commons/Options.java
+++ b/empire-db/src/main/java/org/apache/empire/commons/Options.java
@@ -187,13 +187,12 @@ public class Options extends AbstractSet<OptionEntry>
implements Cloneable, Seri
}
}
- public Options(Class<?> enumType)
+ public Options(Class<? extends Enum<?>> enumType)
{ // must be an enum
- if (enumType==null || !enumType.isEnum())
+ if (enumType==null)
throw new InvalidArgumentException("enumType", enumType);
// create options from enum
- @SuppressWarnings("unchecked")
- Enum<?>[] items = ((Class<Enum<?>>)enumType).getEnumConstants();
+ Enum<?>[] items = enumType.getEnumConstants();
this.list = new ArrayList<OptionEntry>(items.length);
for (int i=0; i<items.length; i++)
{
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
index 350aeb92..034d81f0 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
@@ -370,7 +370,7 @@ public class DBTable extends DBRowSet implements Cloneable
* @param enumType the class of the enum type
* @return the new column object
*/
- public final DBTableColumn addColumn(String columnName, DataType type,
double size, boolean required, Class<?> enumType)
+ public final DBTableColumn addColumn(String columnName, DataType type,
double size, boolean required, Class<? extends Enum<?>> enumType)
{
if (!enumType.isEnum())
{ // Class must be an enum type
@@ -393,12 +393,13 @@ public class DBTable extends DBRowSet implements Cloneable
* @param enumValue the default value
* @return the new column object
*/
+ @SuppressWarnings("unchecked")
public final DBTableColumn addColumn(String columnName, DataType type,
double size, boolean required, Enum<?> enumValue)
{
Object defValue = ObjectUtils.convertValue(type, enumValue);
DBTableColumn col = this.createAndAppendColumn(columnName, type, size,
required, defValue);
if (enumValue!=null)
- col.setEnumOptions(enumValue.getClass());
+ col.setEnumOptions((Class<Enum<?>>)enumValue.getClass());
return col;
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
b/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
index b0106e75..4621abb2 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
@@ -322,7 +322,7 @@ public class DBTableColumn extends DBColumn
* sets the options from an enum class
* @param enumType the enum type
*/
- public void setEnumOptions(Class<?> enumType)
+ public void setEnumOptions(Class<? extends Enum<?>> enumType)
{
// Enum special treatment
log.debug("Adding enum options of type {} for column {}.",
enumType.getName(), getName());
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBView.java
b/empire-db/src/main/java/org/apache/empire/db/DBView.java
index b8324e2f..5189dc2b 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBView.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBView.java
@@ -222,7 +222,7 @@ public abstract class DBView extends DBRowSet implements
Cloneable
* sets the options from an enum class
* @param enumType the enum type
*/
- public void setEnumOptions(Class<?> enumType)
+ public void setEnumOptions(Class<? extends Enum<?>> enumType)
{
// Enum special treatment
log.debug("Adding enum options of type {} for column {}.",
enumType.getName(), getName());