X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/f3bbd4efc8549b8731306ec2deccf3e9333f1371..673e3168f0a7cd6581ff7a6ce7abaa423c821670:/cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/StrategyBase.java diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/StrategyBase.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/StrategyBase.java index ebb8af08c2..8e0de651ef 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/StrategyBase.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/StrategyBase.java @@ -1,14 +1,30 @@ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + package eu.etaxonomy.cdm.strategy; import java.io.Serializable; +import java.net.URI; +import java.util.Collection; import java.util.UUID; import org.apache.log4j.Logger; +import org.joda.time.DateTime; + +import eu.etaxonomy.cdm.model.agent.Contact; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.LSID; +import eu.etaxonomy.cdm.model.common.TimePeriod; public abstract class StrategyBase implements IStrategy, Serializable { private static final long serialVersionUID = -274791080847215663L; - @SuppressWarnings("unused") private static final Logger logger = Logger.getLogger(StrategyBase.class); @@ -16,16 +32,64 @@ public abstract class StrategyBase implements IStrategy, Serializable { abstract protected UUID getUuid(); - //protected VersionableEntity strategyObject; - - //make use of NewInstance() instead of Constructor protected StrategyBase(){ } + - /* - @Override - public void setStrategyObject(Object versionableEntity) { - this.strategyObject = (VersionableEntity)versionableEntity; + + + /** + * @param fieldType + * @return + */ + protected static boolean isCollection(Class fieldType) { + if (Collection.class.isAssignableFrom(fieldType) ){ + return true; + }else{ + return false; + } } - */ + + /** + * @param fieldType + * @return + */ + protected boolean isPrimitive(Class fieldType) { + if (fieldType.isPrimitive()){ + return true; + }else{ + return false; + } + } + + /** + * @param fieldType + * @return + */ + protected boolean isSingleCdmBaseObject(Class fieldType) { + if (CdmBase.class.isAssignableFrom(fieldType)){ + return true; + }else{ + return false; + } + } + + /** + * @param fieldType + * @return + */ + protected boolean isUserType(Class fieldType) { + if ( fieldType == TimePeriod.class || + fieldType == DateTime.class || + fieldType == LSID.class || + fieldType == Contact.class || + fieldType == URI.class + ){ + return true; + }else{ + return false; + } + } + + }