/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.drools.workbench.services.verifier.api.client.maps.util; import java.util.ArrayList; import java.util.List; import org.drools.workbench.services.verifier.api.client.relations.HumanReadable; import org.drools.workbench.services.verifier.api.client.relations.IsRedundant; public class RedundancyResult<Parent, Item extends IsRedundant & HumanReadable> { public static final RedundancyResult EMPTY = new RedundancyResult(); protected final List<Item> list = new ArrayList<>(); private Parent parent; public RedundancyResult( final Item... items ) { for ( final Item item : items ) { list.add( item ); } } public RedundancyResult( final Parent parent, final RedundancyResult<Object, Item> result ) { this.parent = parent; list.addAll( result.list ); } public boolean isTrue() { return !list.isEmpty(); } public Item get( final int i ) { return list.get( i ); } public Parent getParent() { return parent; } }