package Job::SkipRuleSet;

use strict;
use Data::Dumper;
use XML::Simple;
use lib '/app/tools/common/lib';
use Common::XMLObject;
use Common::FormHash;

use lib '/app/tools/job/lib';
use Job::DB::Item::JobSkipRule;
use Job::SkipRule;

use base 'Common::FormHash';

sub _tagName {
    return 'SkipRule';
}

sub _getItemCollection {
    my ( $self, %args ) = @_;

    my $collection = Job::DB::Item::JobSkipRule->GetAll();

    return $collection;
}

sub _keyMethodName {
    return 'JobSkipRuleID';
}

sub _getNewObject {
    my ($self) = @_;
    return Job::SkipRule->new();
}

sub _getObjectFromDBItem {
    my ( $self, $dbItem ) = @_;
    return Job::SkipRule->new( dbItem => $dbItem );
}

sub _init {
    my ( $self, %args ) = @_;

    return $self->SUPER::_init(%args);
}

sub getRules {
    my ($self) = @_;
    return $self->{SkipRule};
}

sub save {
    my ($self) = @_;

    my $keys = $self->getKeys();

    foreach my $id (@$keys) {
        my $skipRule = $self->{SkipRule}{$id};
        $skipRule->save();
    }
}

1;
