view Lib/IMPL/DOM/Schema/ValidationError.pm @ 60:b0c068da93ac

Lazy activation for the configuration objects (final concept) small fixes
author wizard
date Tue, 09 Mar 2010 19:47:39 +0300
parents 16ada169ca75
children df6b4f054957
line wrap: on
line source

package IMPL::DOM::Schema::ValidationError;
use strict;
use warnings;

use base qw(IMPL::Object);
use IMPL::Class::Property;
use IMPL::Class::Property::Direct;
use IMPL::Resources::Format qw(FormatMessage);

BEGIN {
    public _direct property Node => prop_get;
    public _direct property Schema => prop_get;
    public _direct property Source => prop_get;
    public _direct property Message => prop_get;
}

sub CTOR {
    my ($this,%args) = @_;
    
    $this->{$Node} = $args{Node} or die new IMPL::InvalidArgumentException("Node is a required parameter");
    $this->{$Schema} = $args{Schema} if $args{Schema};
    $this->{$Source} = $args{Source} if $args{Source};
    $this->{$Message} = FormatMessage(delete $args{Message}, \%args) if $args{Message};
}

1;