2 # Shared type definitions
4 # Mark Huang <mlhuang@cs.princeton.edu>
5 # Copyright (C) 2006 The Trustees of Princeton University
7 # $Id: Parameter.py,v 1.2 2006/09/08 19:45:04 mlhuang Exp $
12 Typed value wrapper. Use in accepts and returns to document method
13 parameters. Set the optional and default attributes for
14 sub-parameters (i.e., dict fields).
17 def __init__(self, type, doc = "",
18 min = None, max = None,
19 optional = True, default = None,
21 # Basic type of the parameter. May be a builtin type or Mixed.
24 # Documentation string for the parameter
27 # Basic value checking. For numeric types, the minimum and
28 # maximum possible values, inclusive. For string types, the
29 # minimum and maximum possible UTF-8 encoded byte lengths.
33 # Whether the sub-parameter is optional or not. If optional,
34 # the default for the sub-parameter if not specified.
35 self.optional = optional
36 self.default = default
38 # Whether the DB field is read-only.
42 return repr(self.type)
46 A list (technically, a tuple) of types. Use in accepts and returns
47 to document method parameters that may return mixed types.
50 def __new__(cls, *types):
51 return tuple.__new__(cls, types)