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.controller; 019 020 public class Controller { 021 022 // TODO all resolution over multiple repositories (file/http/workspace) 023 // TODO optional caching for remote repositories? 024 // TODO allow user to load a file for a given dependency from the tree 025 // TODO indicate different repositories in tree 026 027 private BooleanController checkShowCompile = new BooleanController(true); 028 private BooleanController checkShowTest = new BooleanController(false); 029 private BooleanController checkShowRuntime = new BooleanController(true); 030 private BooleanController checkShowProvided = new BooleanController(true); 031 private BooleanController resolveExclusions = new BooleanController(true); 032 033 boolean includeScope(String scope) { 034 if ("compile".equalsIgnoreCase(scope) && !checkShowCompile.value) { 035 return false; 036 } 037 if ("test".equalsIgnoreCase(scope) && !checkShowTest.value) { 038 return false; 039 } 040 if ("runtime".equalsIgnoreCase(scope) && !checkShowRuntime.value) { 041 return false; 042 } 043 if ("provided".equalsIgnoreCase(scope) && !checkShowProvided.value) { 044 return false; 045 } 046 return true; 047 } 048 049 /** 050 * a mutable boolean, used as a lightweight non-swing dependant model 051 */ 052 public class BooleanController { 053 054 private boolean value; 055 056 private BooleanController(boolean value) { 057 this.value = value; 058 } 059 060 public boolean getValue() { 061 return value; 062 } 063 064 public void toggle() { 065 value = !value; 066 } 067 068 } 069 070 public BooleanController getCheckShowCompile() { 071 return checkShowCompile; 072 } 073 074 public BooleanController getCheckShowProvided() { 075 return checkShowProvided; 076 } 077 078 public BooleanController getCheckShowRuntime() { 079 return checkShowRuntime; 080 } 081 082 public BooleanController getCheckShowTest() { 083 return checkShowTest; 084 } 085 086 public BooleanController getResolveExclusions() { 087 return resolveExclusions; 088 } 089 }