make read-only a Parameter attribute
[plcapi.git] / PLC / Parameter.py
index 5dab363..5f573f8 100644 (file)
@@ -4,7 +4,7 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2006 The Trustees of Princeton University
 #
-# $Id: Parameter.py,v 1.1 2006/09/06 15:36:07 mlhuang Exp $
+# $Id: Parameter.py,v 1.2 2006/09/08 19:45:04 mlhuang Exp $
 #
 
 class Parameter:
@@ -14,9 +14,29 @@ class Parameter:
     sub-parameters (i.e., dict fields).
     """
 
-    def __init__(self, type, doc = "", min = None, max = None, optional = True, default = None):
-        (self.type, self.doc, self.min, self.max, self.optional, self.default) = \
-                    (type, doc, min, max, optional, default)
+    def __init__(self, type, doc = "",
+                 min = None, max = None,
+                 optional = True, default = None,
+                 ro = False):
+        # Basic type of the parameter. May be a builtin type or Mixed.
+        self.type = type
+
+        # Documentation string for the parameter
+        self.doc = doc
+
+        # Basic value checking. For numeric types, the minimum and
+        # maximum possible values, inclusive. For string types, the
+        # minimum and maximum possible UTF-8 encoded byte lengths.
+        self.min = min
+        self.max = max
+
+        # Whether the sub-parameter is optional or not. If optional,
+        # the default for the sub-parameter if not specified.
+        self.optional = optional
+        self.default = default
+
+        # Whether the DB field is read-only.
+        self.ro = ro
 
     def __repr__(self):
         return repr(self.type)