EMPIREDB-304
Added function isEnum() to Column which indicates whether an Enum-type has been set
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
index 84434c5..03c3fd8 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
@@ -164,6 +164,12 @@
}
@Override
+ public boolean isEnum()
+ {
+ return getSourceColumn().isEnum();
+ }
+
+ @Override
public Object validate(Object value)
{
log.warn("validate not supported for {}", expr.getName());
diff --git a/empire-db/src/main/java/org/apache/empire/data/Column.java b/empire-db/src/main/java/org/apache/empire/data/Column.java
index 96baa91..dd7d0dd 100644
--- a/empire-db/src/main/java/org/apache/empire/data/Column.java
+++ b/empire-db/src/main/java/org/apache/empire/data/Column.java
@@ -80,6 +80,13 @@
boolean isReadOnly();
/**
+ * Returns true if an enum type has been set for this column
+ * <P>
+ * @return eturns true if an enum type has been set for this column
+ */
+ boolean isEnum();
+
+ /**
* Checks if the given value is a valid value for this column
* If not, an exception is thrown
* @return the value the validated and possibly converted value
diff --git a/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java b/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java
index 7b53f84..24c7609 100644
--- a/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java
+++ b/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java
@@ -166,6 +166,17 @@
}
/**
+ * Returns true if an enum type has been set for this column
+ * <P>
+ * @return eturns true if an enum type has been set for this column
+ */
+ @Override
+ public boolean isEnum()
+ {
+ return (attributes!=null && getAttribute(COLATTR_ENUMTYPE)!=null);
+ }
+
+ /**
* Returns the columns control type.
* The control type is a client specific name for the type of input control
* that should be used to display and edit values for this column.
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBColumn.java b/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
index 5cbb919..85f5276 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
@@ -385,6 +385,17 @@
}
/**
+ * Returns true if an enum type has been set for this column
+ * <P>
+ * @return eturns true if an enum type has been set for this column
+ */
+ @Override
+ public boolean isEnum()
+ {
+ return (attributes!=null && getAttribute(COLATTR_ENUMTYPE)!=null);
+ }
+
+ /**
* Creates and returns a new DBSetExpr object.
*
* @see org.apache.empire.db.expr.set.DBSetExpr