001 /* 002 * Sonar, open source software quality management tool. 003 * Copyright (C) 2009 SonarSource SA 004 * mailto:contact AT sonarsource DOT com 005 * 006 * Sonar is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU Lesser General Public 008 * License as published by the Free Software Foundation; either 009 * version 3 of the License, or (at your option) any later version. 010 * 011 * Sonar is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 014 * Lesser General Public License for more details. 015 * 016 * You should have received a copy of the GNU Lesser General Public 017 * License along with Sonar; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 019 */ 020 package org.sonar.api.resources; 021 022 /** 023 * @since 1.10 024 */ 025 public final class ResourceUtils { 026 027 private ResourceUtils() { 028 } 029 030 /** 031 * @return whether the resource is a view 032 */ 033 public static boolean isView(Resource resource) { 034 return isSet(resource) && Resource.QUALIFIER_VIEW.equals(resource.getQualifier()); 035 } 036 037 /** 038 * @return whether the resource is a subview (in the view tree) 039 */ 040 public static boolean isSubview(Resource resource) { 041 return isSet(resource) && Resource.QUALIFIER_SUBVIEW.equals(resource.getQualifier()); 042 } 043 044 /** 045 * @return whether the resource is the root project 046 */ 047 public static boolean isRootProject(Resource resource) { 048 return Resource.QUALIFIER_PROJECT.equals(resource.getQualifier()); 049 } 050 051 /** 052 * @return whether a resource is a maven module of project 053 */ 054 public static boolean isModuleProject(Resource resource) { 055 return Resource.QUALIFIER_MODULE.equals(resource.getQualifier()); 056 } 057 058 /** 059 * @return whether a resource is a package 060 */ 061 public static boolean isPackage(Resource resource) { 062 return resource != null && Resource.QUALIFIER_PACKAGE.equals(resource.getQualifier()); 063 } 064 065 /** 066 * @return whether a resource is a set 067 */ 068 public static boolean isSet(Resource resource) { 069 return resource != null && Resource.SCOPE_SET.equals(resource.getScope()); 070 } 071 072 /** 073 * @return whether a resource is a space 074 */ 075 public static boolean isSpace(Resource resource) { 076 return resource != null && Resource.SCOPE_SPACE.equals(resource.getScope()); 077 } 078 079 /** 080 * @return whether a resource is an entity. 081 */ 082 public static boolean isEntity(Resource resource) { 083 return resource != null && Resource.SCOPE_ENTITY.equals(resource.getScope()); 084 } 085 086 /** 087 * This method equal isRootProject(resource) or isModuleProject(resource) 088 */ 089 public static boolean isProject(Resource resource) { 090 return isSet(resource); 091 } 092 093 /** 094 * Alias for {@link #isSpace(Resource)} 095 */ 096 public static boolean isDirectory(Resource resource) { 097 return isSpace(resource); 098 } 099 100 /** 101 * Alias for {@link #isEntity(Resource)} 102 */ 103 public static boolean isFile(Resource resource) { 104 return isEntity(resource); 105 } 106 107 /* QUALIFIERS */ 108 109 /** 110 * @return whether a resource is a class 111 */ 112 public static boolean isClass(Resource resource) { 113 return Resource.QUALIFIER_CLASS.equals(resource.getQualifier()); 114 } 115 116 /** 117 * @return whether a resource is a unit test class 118 */ 119 public static boolean isUnitTestClass(Resource resource) { 120 return Resource.QUALIFIER_UNIT_TEST_CLASS.equals(resource.getQualifier()); 121 } 122 123 /** 124 * @return whether a resource is a library 125 */ 126 public static boolean isLibrary(Resource resource) { 127 return Resource.QUALIFIER_LIB.equals(resource.getQualifier()); 128 } 129 }