Added constructors for serialization of the new constraint types and registered the types with the serializer pool.
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java
index 44d6875..fc08214 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java
@@ -43,6 +43,11 @@
         this.bandwidth = checkNotNull(bandwidth, "Bandwidth cannot be null");
     }
 
+    // Constructor for serialization
+    private BandwidthConstraint() {
+        this.bandwidth = null;
+    }
+
     @Override
     public boolean isValid(Link link, LinkResourceService resourceService) {
         for (ResourceRequest request : resourceService.getAvailableResources(link)) {
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java
index d1d33d6..ab88c92 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java
@@ -41,6 +41,11 @@
         this.lambda = lambda;
     }
 
+    // Constructor for serialization
+    private LambdaConstraint() {
+        this.lambda = null;
+    }
+
     @Override
     public boolean isValid(Link link, LinkResourceService resourceService) {
         for (ResourceRequest request : resourceService.getAvailableResources(link)) {
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java
index 5640591..7d44b4d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java
@@ -49,6 +49,12 @@
         this.isInclusive = inclusive;
     }
 
+    // Constructor for serialization
+    private LinkTypeConstraint() {
+        this.types = null;
+        this.isInclusive = false;
+    }
+
     @Override
     public boolean isValid(Link link, LinkResourceService resourceService) {
         boolean contains = types.contains(link.type());
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/package-info.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/package-info.java
new file mode 100644
index 0000000..762d6d1
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Definitions of constraints used to refine intent specifications.
+ */
+package org.onlab.onos.net.intent.constraint;
diff --git a/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java b/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java
index 9dddb86..fcb3cd8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java
+++ b/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java
@@ -33,6 +33,11 @@
         this.bandwidth = bandwidth;
     }
 
+    // Constructor for serialization
+    private Bandwidth() {
+        this.bandwidth = 0;
+    }
+
     /**
      * Creates a new instance with given bandwidth.
      *
diff --git a/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java b/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java
index e09d915..d179d64 100644
--- a/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java
+++ b/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java
@@ -33,6 +33,11 @@
         this.lambda = lambda;
     }
 
+    // Constructor for serialization
+    private Lambda() {
+        this.lambda = 0;
+    }
+
     /**
      * Creates a new instance with given lambda.
      *