Remove @ThreadSafe annotation from AbstractCodecFactory 03/81103/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 21 Mar 2019 16:50:20 +0000 (17:50 +0100)
committerRobert Varga <nite@hq.sk>
Fri, 22 Mar 2019 00:10:11 +0000 (00:10 +0000)
Rather than using JSR305, document thread-safety in Javadoc, as it
is nuanced.

Change-Id: Iab25ee3919d6515a2b3d1ad3f31f178a7552a23a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/AbstractCodecFactory.java

index f360324be0c2c0f6c8e9fafe681d4a778017dd78..380fdb38d26497199fadb1fce1be017473a0f939 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.data.codec.xml;
 
 import com.google.common.annotations.Beta;
 import java.util.List;
-import javax.annotation.concurrent.ThreadSafe;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.data.impl.codec.AbstractIntegerStringCodec;
 import org.opendaylight.yangtools.yang.data.impl.codec.BinaryStringCodec;
@@ -42,8 +41,10 @@ import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition;
 
+/**
+ * A thread-safe factory for instantiating {@link XmlCodec}s.
+ */
 @Beta
-@ThreadSafe
 public final class XmlCodecFactory extends AbstractCodecFactory<XmlCodec<?>> {
 
     private XmlCodecFactory(final SchemaContext context) {
index e9f2f5ca11b1d4bc3c7b9be845306ce94e7e0e4c..24527f413ce5e697b75cef682cd9c2b60b772809 100644 (file)
@@ -12,7 +12,6 @@ import static java.util.Objects.requireNonNull;
 
 import java.util.ArrayList;
 import java.util.List;
-import javax.annotation.concurrent.ThreadSafe;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
@@ -45,13 +44,12 @@ import org.slf4j.LoggerFactory;
 
 /**
  * A type-to-codec factory base class with logic to efficiently lookup and cache codec instances,
- * also dealing with union type composition.
- *
- * @author Robert Varga
+ * also dealing with union type composition. This class is thread-safe as long as its underlying {@link CodecCache}
+ * is thread-safe
  *
  * @param <T> Codec type
+ * @author Robert Varga
  */
-@ThreadSafe
 public abstract class AbstractCodecFactory<T extends TypeAwareCodec<?, ?, ?>> implements SchemaContextProvider {
     private static final Logger LOG = LoggerFactory.getLogger(AbstractCodecFactory.class);