comparison Lib/IMPL/Config/Path.pm @ 259:b92f19630d33

Merge with 91bae9f41a9cf2d52f5cff5a5c3e7c8683c7d47e
author sergey
date Fri, 21 Dec 2012 00:09:11 +0400
parents 91bae9f41a9c
children 212cc86e470b
comparison
equal deleted inserted replaced
257:299af584c05f 259:b92f19630d33
1 package IMPL::Config::Path;
2 use strict;
3 use IMPL::Config();
4
5 use IMPL::require {
6 Exception => 'IMPL::Exception',
7 OpException => '-IMPL::InvalidOperationException'
8 };
9
10 sub restore {
11 my ($self,$data,$surrogate) = @_;
12
13 die OpException->new("Invalid content") unless ref $data eq 'ARRAY' && @$data == 2;
14
15 my ($base,$path) = @$data;
16
17 my %types = (
18 appBase => 'AppBase',
19 configBase => 'ConfigBase'
20 );
21
22 my $method = $types{$base};
23
24 die OpException->new("Unsupported path type",$base) unless $method;
25
26 return IMPL::Config->$method($path);
27 }
28
29 1;