Make JSON codecs immutable

The contract for JSON codecs requires that they have no
local context.  Make them all immutable, and test that they
stay immutable.

Change-Id: Ia3930b844ede231940da05699f5f08605f946e0c
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/CriterionCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/CriterionCodec.java
index 0905432..9d714b0 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/CriterionCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/CriterionCodec.java
@@ -29,7 +29,7 @@
 /**
  * Criterion codec.
  */
-public class CriterionCodec extends JsonCodec<Criterion> {
+public final class CriterionCodec extends JsonCodec<Criterion> {
 
     protected static final Logger log = LoggerFactory.getLogger(CriterionCodec.class);