You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by al...@apache.org on 2007/01/03 22:03:43 UTC
svn commit: r492302 -
/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java
Author: alally
Date: Wed Jan 3 13:03:42 2007
New Revision: 492302
URL: http://svn.apache.org/viewvc?view=rev&rev=492302
Log:
ResultSpecification_impl marked final due to its implementation
of clone() being unsafe for subclassing.
UIMA-149: http://issues.apache.org/jira/browse/UIMA-149
Modified:
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java?view=diff&rev=492302&r1=492301&r2=492302
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ResultSpecification_impl.java Wed Jan 3 13:03:42 2007
@@ -42,7 +42,8 @@
*
*
*/
-public class ResultSpecification_impl extends MetaDataObject_impl implements ResultSpecification {
+public final class ResultSpecification_impl extends MetaDataObject_impl implements
+ ResultSpecification {
private static final long serialVersionUID = 8516517600467270594L;
@@ -565,14 +566,15 @@
*/
public Object clone() {
// create new result specification
- // NOTE: cannot use super.clone here, since we do not want to execute
- // the MetaDataObject_impl logic. TODO: rethink whether this should be
- // a subclass of MetaDataOBject_impl.
+ // NOTE: we don't use super.clone here, since for performance reasons
+ // we want to do a faster clone that what the general-purpose logic in
+ // MetaDataObject_impl does. This class is marked final so that
+ // this can't cause a problem if ResultSpecification_impl is subclassed.
ResultSpecification_impl newResultSpec = new ResultSpecification_impl();
// clone HashMaps
- newResultSpec.mTypesAndFeatures = new HashMap(this.mTypesAndFeatures);
- newResultSpec.mDefaultLanguage = new HashSet(this.mDefaultLanguage);
+ // newResultSpec.mTypesAndFeatures = new HashMap(this.mTypesAndFeatures);
+ // newResultSpec.mDefaultLanguage = new HashSet(this.mDefaultLanguage);
return newResultSpec;
}