Mercurial > pub > Impl
annotate Lib/IMPL/DOM/Schema/InflateFactory.pm @ 161:47c9877ccacc
Added a handler for rewriting a PATH_INFO value, useful with a json handlers
| author | wizard | 
|---|---|
| date | Tue, 28 Dec 2010 14:58:17 +0300 | 
| parents | 196bf443b5e1 | 
| children | d1676be8afcc | 
| rev | line source | 
|---|---|
| 104 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 1 package IMPL::DOM::Schema::InflateFactory; | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 2 use strict; | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 3 | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 4 require IMPL::Exception; | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 5 require IMPL::Object::Factory; | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 6 | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 7 sub new { | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 8 my ($self,$value) = @_; | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 9 | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 10 if ($value =~ /^(\w+(?:::\w+)*)(?:\.(\w+))?$/) { | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 11 return IMPL::Object::Factory->new($1,undef,$2); | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 12 } else { | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 13 die new IMPL::InvalidArgumentException("Expected value in the format PACKAGE::NAME.method_name",$value); | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 14 } | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 15 } | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 16 | 
| 
196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
 wizard parents: diff
changeset | 17 1; | 
