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 }