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;
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) {
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;
/**
* 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);