---
name: "Validation::Class::Collection"
section: "3pm"
platform: "linux"
package: "libvalidation-class-perl"
version: "7.70-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Validation::Class::Collection"
---

# Validation::Class::Collection(3pm)

Generic Container Class for Various Collections

## NAME

Validation::Class::Collection - Generic Container Class for Various Collections

## VERSION

version 7.70

## SYNOPSIS

```
    use Validation::Class::Collection;

    my $foos = Validation::Class::Collection->new;

    $foos->add(foo => Foo->new);

    print $foos->count; # 1 object
```

## DESCRIPTION

Validation::Class::Collection provides an all-purpose container for hash objects. This class is primarily used as a base class for collection management classes.

## METHODS

### new

```
    my $self = Validation::Class::Collection->new;
```

### add

```
    $self = $self->add(foo => Foo->new);

    $self->add(foo => Foo->new, bar => Bar->new);
```

### clear

```
    $self = $self->clear;
```

### count

```
    my $count = $self->count;
```

### each

```
    $self = $self->each(sub{

        my ($name, $object) = @_;
        ...

    });
```

### find

```
    my $matches = $self->find(qr/update_/); # hashref
```

### get

```
    my $object = $self->get($name);
```

### has

```
    if ($self->has($name)) {
        ...
    }
```

### hash

```
    my $hash = $self->hash;
```

### keys

```
    my @keys = $self->keys;
```

### list

```
    my @objects = $self->list;
```

### remove

```
    $object = $self->remove($name);
```

### values

```
    my @objects = $self->values;
```

## AUTHOR

Al Newkirk \<anewkirk@ana.io\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
