add MXAH
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Object / Procedure.pm
1 package SQL::Translator::Object::Procedure;
2 use Moose;
3 use MooseX::Types::Moose qw(HashRef Int Maybe Str);
4 use MooseX::AttributeHelpers;
5 use SQL::Translator::Types qw();
6 use SQL::Translator::Object::Schema;
7 extends 'SQL::Translator::Object';
8
9 has 'name' => (
10   is => 'rw',
11   isa => Str,
12   required => 1
13 );
14
15 has 'contents' => (
16   is => 'rw',
17   isa => Str,
18   required => 1
19 );
20
21 has 'parameters' => (
22   metaclass => 'Collection::Hash',
23   is => 'rw',
24   isa => Maybe[HashRef[Int|Str]],
25   provides => {
26     exists => 'exists_parameter',
27     keys   => 'parameter_ids',
28     get    => 'get_parameter',
29     set    => 'set_parameter',
30   },
31   required => 0
32 );
33
34 has 'owner' => (
35   is => 'rw',
36   isa => Str,
37   required => 1
38 );
39
40 has 'comments' => (
41   is => 'rw',
42   isa => Str,
43   required => 0
44 );
45
46 has 'schema' => (
47   is => 'rw',
48   isa => Schema,
49   required => 1,
50   default => sub { SQL::Translator::Object::Schema->new }
51 );
52
53 1;