001 /*
002 * Licensed under the Apache License, Version 2.0 (the "License");
003 * you may not use this file except in compliance with the License.
004 * You may obtain a copy of the License at
005 *
006 * http://www.apache.org/licenses/LICENSE-2.0
007 *
008 * Unless required by applicable law or agreed to in writing, software
009 * distributed under the License is distributed on an "AS IS" BASIS,
010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
011 * See the License for the specific language governing permissions and
012 * limitations under the License.
013 */
014 /*
015 * This file has been modified by Chris Pheby in accordance with Section 4.2
016 * of the Apache Software License
017 */
018 package org.jadira.dependencynavigator.model;
019
020 import java.util.ArrayList;
021 import java.util.List;
022
023 public class ExclusionList {
024 private List<String> exclusions;
025
026 public void addExclusion(String groupId, String artifactId) {
027 if (exclusions == null) {
028 // lazy load the list as most artifacts will have no exclusions
029 exclusions = new ArrayList<String>();
030 }
031 String exclusion = groupId + ":" + artifactId;
032 if (!exclusions.contains(exclusion)) {
033 exclusions.add(exclusion);
034 }
035 }
036
037 public boolean isExcluded(String groupId, String artifactId) {
038 String identifier = groupId + ":" + artifactId;
039 if (exclusions != null) {
040 for (String exclusion : exclusions) {
041 if (exclusion.equalsIgnoreCase(identifier)) {
042 return true;
043 }
044 }
045 }
046 return false;
047 }
048 }