view Lib/IMPL/DOM/Schema/ValidationError.pm @ 59:0f3e369553bd

Rewritten property implementation (probably become slower but more flexible) Configuration infrastructure in progress (in the aspect of the lazy activation) Initial concept for the code generator
author wizard
date Tue, 09 Mar 2010 02:50:45 +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;