~ubuntu-branches/ubuntu/wily/gs-collections/wily

« back to all changes in this revision

Viewing changes to collections/src/main/java/com/gs/collections/impl/block/procedure/PartitionPredicate2Procedure.java

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bourg
  • Date: 2015-07-23 12:42:30 UTC
  • Revision ID: package-import@ubuntu.com-20150723124230-2rjvfv6elyn2m7d4
Tags: upstream-5.1.0
ImportĀ upstreamĀ versionĀ 5.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2013 Goldman Sachs.
 
3
 *
 
4
 * Licensed under the Apache License, Version 2.0 (the "License");
 
5
 * you may not use this file except in compliance with the License.
 
6
 * You may obtain a copy of the License at
 
7
 *
 
8
 *     http://www.apache.org/licenses/LICENSE-2.0
 
9
 *
 
10
 * Unless required by applicable law or agreed to in writing, software
 
11
 * distributed under the License is distributed on an "AS IS" BASIS,
 
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
13
 * See the License for the specific language governing permissions and
 
14
 * limitations under the License.
 
15
 */
 
16
 
 
17
package com.gs.collections.impl.block.procedure;
 
18
 
 
19
import com.gs.collections.api.block.predicate.Predicate2;
 
20
import com.gs.collections.api.block.procedure.Procedure;
 
21
import com.gs.collections.api.collection.MutableCollection;
 
22
import com.gs.collections.api.partition.PartitionMutableCollection;
 
23
 
 
24
public class PartitionPredicate2Procedure<T, P> implements Procedure<T>
 
25
{
 
26
    private static final long serialVersionUID = 1L;
 
27
 
 
28
    private final Predicate2<? super T, ? super P> predicate;
 
29
    private final P parameter;
 
30
    private final PartitionMutableCollection<T> partitionMutableCollection;
 
31
 
 
32
    public PartitionPredicate2Procedure(Predicate2<? super T, ? super P> predicate, P parameter, PartitionMutableCollection<T> partitionMutableCollection)
 
33
    {
 
34
        this.predicate = predicate;
 
35
        this.parameter = parameter;
 
36
        this.partitionMutableCollection = partitionMutableCollection;
 
37
    }
 
38
 
 
39
    public void value(T each)
 
40
    {
 
41
        MutableCollection<T> bucket = this.predicate.accept(each, this.parameter)
 
42
                ? this.partitionMutableCollection.getSelected()
 
43
                : this.partitionMutableCollection.getRejected();
 
44
        bucket.add(each);
 
45
    }
 
46
}