1 19 20 package org.netbeans.modules.junit.output.antutils; 21 22 import java.io.File ; 23 import java.util.Collection ; 24 import org.apache.tools.ant.module.spi.TaskStructure; 25 26 30 final class FileSet { 31 32 33 private final AntProject project; 34 35 36 private PatternSet implicitPatternSet; 37 38 private File baseDir; 39 40 private File file; 41 42 private boolean defaultExcludes = true; 43 44 private boolean caseSensitive = true; 45 46 private boolean followSymlinks; 47 48 50 FileSet(AntProject project) { 51 this.project = project; 52 } 53 54 57 void handleChildrenAndAttrs(TaskStructure struct) { 58 63 setAttrs(struct); 64 65 66 implicitPatternSet = new PatternSet(project); 67 implicitPatternSet.handleChildrenAndAttrs(struct); 68 } 69 70 75 private void setAttrs(TaskStructure struct) { 76 String dirName = struct.getAttribute("dir"); String fileName = struct.getAttribute("file"); String defaultExcludes = struct.getAttribute("defaultexcludes"); String caseSensitive = struct.getAttribute("casesensitive"); String followSymlinks = struct.getAttribute("followsymlinks"); 82 if (dirName != null) { 83 dirName = project.replaceProperties(dirName); 84 setBaseDir(project.resolveFile(dirName)); 85 } 86 if (fileName != null) { 87 fileName = project.replaceProperties(fileName); 88 setFile(project.resolveFile(fileName)); 89 } 90 if (defaultExcludes != null) { 91 defaultExcludes = project.replaceProperties(defaultExcludes); 92 setDefaultExcludes(AntProject.toBoolean(defaultExcludes)); 93 } 94 if (caseSensitive != null) { 95 caseSensitive = project.replaceProperties(caseSensitive); 96 setCaseSensitive(AntProject.toBoolean(caseSensitive)); 97 } 98 if (followSymlinks != null) { 99 followSymlinks = project.replaceProperties(followSymlinks); 100 setFollowSymlinks(AntProject.toBoolean(followSymlinks)); 101 } 102 } 103 104 106 private void setBaseDir(File baseDir) { 107 this.baseDir = baseDir; 108 } 109 110 112 private void setFile(File file) { 113 this.file = file; 114 } 115 116 118 private void setDefaultExcludes(boolean defaultExcludes) { 119 this.defaultExcludes = defaultExcludes; 120 } 121 122 124 private void setCaseSensitive(boolean caseSensitive) { 125 this.caseSensitive = caseSensitive; 126 } 127 128 130 private void setFollowSymlinks(boolean followSymlinks) { 131 this.followSymlinks = followSymlinks; 132 } 133 134 135 137 File getBaseDir() { 138 return baseDir; 139 } 140 141 143 File getFile() { 144 return file; 145 } 146 147 149 boolean isDefaultExcludes() { 150 return defaultExcludes; 151 } 152 153 155 boolean isCaseSensitive() { 156 return caseSensitive; 157 } 158 159 161 boolean isFollowSymlinks() { 162 return followSymlinks; 163 } 164 165 167 Collection <String > getIncludePatterns() { 168 return implicitPatternSet.getIncludePatterns(); 169 } 170 171 173 Collection <String > getExcludesPatterns() { 174 return implicitPatternSet.getExcludePatterns(); 175 } 176 177 } 178 | Popular Tags |