# Copyright (c) 2007-2009 bivio Software, Inc. All Rights Reserved. # # Visit http://www.bivio.biz for more info. # # This library is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2.1 of the # License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; If not, you may get a copy from: # http://www.opensource.org/licenses/lgpl-license.html # # $Id: Constraint.bunit,v 1.2 2009/11/20 17:48:56 nagler Exp $ Unit(); options({ create_object => sub { my(undef, $object) = @_; return class()->from_name(@$object); }, }); class('Bivio::TypeError'); [ map((shift(@$_) => [ check_value => [ [shift(@$_), shift(@$_)] => ref($_->[0]) ? $_->[0] : $_->[0] ? [Bivio::TypeError->from_name(@$_)] : [], ], ]), [NONE => Type_Integer(), undef], [NOT_NULL => Type_Integer(), 1], [PRIMARY_KEY => Type_Integer(), 1], [NOT_ZERO_ENUM => Type_Gender(), from_type(qw(Gender MALE))], [PRIMARY_KEY => Type_Integer(), 'NULL'], [NOT_NULL => Type_Integer(), 'NULL'], [NOT_ZERO_ENUM => Type_Gender(), from_type(qw(Gender UNKNOWN)), 'UNSPECIFIED'], [IS_SPECIFIED => Type_StringArray(), undef, 'NULL'], [IS_SPECIFIED => Type_StringArray(), Type_StringArray(''), 'UNSPECIFIED'], [IS_SPECIFIED => Type_StringArray(), Type_StringArray('a')], ), ];