ref #8124: adapt TaxonNameDescriptionDefaultCacheStrategy
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / strategy / StrategyBase.java
index 965502e41481f69d1500e58e6b045e7480682bab..02ca3f287111dc6875061d8a25bb729b692c9ae2 100644 (file)
@@ -5,38 +5,40 @@
 *\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
-*/ \r
+*/\r
 \r
 package eu.etaxonomy.cdm.strategy;\r
 \r
 import java.io.Serializable;\r
+import java.net.URI;\r
 import java.util.Collection;\r
 import java.util.UUID;\r
 \r
+import org.apache.commons.lang.StringUtils;\r
 import org.apache.log4j.Logger;\r
 import org.joda.time.DateTime;\r
 \r
+import eu.etaxonomy.cdm.common.CdmUtils;\r
+import eu.etaxonomy.cdm.common.DOI;\r
 import eu.etaxonomy.cdm.model.agent.Contact;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.LSID;\r
 import eu.etaxonomy.cdm.model.common.TimePeriod;\r
+import eu.etaxonomy.cdm.model.common.VerbatimTimePeriod;\r
 \r
 \r
 public abstract class StrategyBase implements IStrategy, Serializable {\r
        private static final long serialVersionUID = -274791080847215663L;\r
        @SuppressWarnings("unused")\r
        private static final Logger logger = Logger.getLogger(StrategyBase.class);\r
-       \r
-       final static UUID uuid = UUID.fromString("2ff2b1d6-17a6-4807-a55f-f6b45bf429b7");\r
 \r
        abstract protected UUID getUuid();\r
-       \r
-       protected StrategyBase(){\r
-       }\r
 \r
-       \r
+// ************************** CONSTRUCTOR ********************************/\r
 \r
+       protected StrategyBase(){}\r
 \r
+// ************************* METHODS  ****************************************/\r
        /**\r
         * @param fieldType\r
         * @return\r
@@ -48,7 +50,7 @@ public abstract class StrategyBase implements IStrategy, Serializable {
                        return false;\r
                }\r
        }\r
-       \r
+\r
        /**\r
         * @param fieldType\r
         * @return\r
@@ -60,7 +62,7 @@ public abstract class StrategyBase implements IStrategy, Serializable {
                        return false;\r
                }\r
        }\r
-       \r
+\r
        /**\r
         * @param fieldType\r
         * @return\r
@@ -79,15 +81,44 @@ public abstract class StrategyBase implements IStrategy, Serializable {
         */\r
        protected boolean isUserType(Class<?> fieldType) {\r
                if (    fieldType == TimePeriod.class ||\r
-                               fieldType == DateTime.class ||\r
+                       fieldType == VerbatimTimePeriod.class ||\r
+                fieldType == DateTime.class ||\r
                                fieldType == LSID.class ||\r
-                               fieldType == Contact.class\r
+                               fieldType == Contact.class ||\r
+                               fieldType == URI.class ||\r
+                               fieldType == DOI.class\r
                        ){\r
                                return true;\r
                }else{\r
                        return false;\r
                }\r
        }\r
-       \r
-       \r
+\r
+\r
+       /**\r
+        * Null safe string. Returns the given string if it is not <code>null</code>.\r
+        * Empty string otherwise.\r
+        * @see CdmUtils#Nz(String)\r
+        * @return the null-safe string\r
+        */\r
+       protected String Nz(String str){\r
+               return CdmUtils.Nz(str);\r
+       }\r
+\r
+       /**\r
+        * Checks if a string is not blank.\r
+        * @see StringUtils#isNotBlank(String)\r
+        */\r
+       protected boolean isNotBlank(String str){\r
+               return StringUtils.isNotBlank(str);\r
+       }\r
+\r
+       /**\r
+        * Checks if a string is blank.\r
+        * @see StringUtils#isNotBlank(String)\r
+        */\r
+       protected boolean isBlank(String str){\r
+               return StringUtils.isBlank(str);\r
+       }\r
+\r
 }\r