diff options
Diffstat (limited to 'python/qpid/validator.py')
-rw-r--r-- | python/qpid/validator.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/python/qpid/validator.py b/python/qpid/validator.py index 7bd62b68f8..d234642b3e 100644 --- a/python/qpid/validator.py +++ b/python/qpid/validator.py @@ -54,6 +54,20 @@ class Types: else: return "%s is not one of: %s" % (o, ", ".join([t.__name__ for t in self.types])) +class List: + + def __init__(self, condition): + self.condition = condition + + def validate(self, o, ctx): + if not isinstance(o, list): + return "%s is not a list" % o + + ctx.push(o) + for v in o: + err = self.condition.validate(v, ctx) + if err: return err + class Map: def __init__(self, map, restricted=True): |