View Javadoc

1   /*******************************************************************************
2    * Copyright (c) 2009 Ordina and committers to Mod4j
3    * All rights reserved. This program and the accompanying materials
4    * are made available under the terms of the Eclipse Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/epl-v10.html
7    *
8    * Contributors:
9    *     Ordina - initial implementation
10   *******************************************************************************/
11  package org.mod4j.common.generator.admin;
12  
13  import java.util.ArrayList;
14  import java.util.List;
15  
16  public class FileTrack {
17  
18      private List<GeneratedFile> generatedFiles;
19  
20      private List<GeneratedFile> extensionFiles;
21  
22      private String resource;
23  
24      private ProjectTrack project;
25  
26      public ProjectTrack getProject() {
27          return project;
28      }
29  
30      public void setProject(ProjectTrack project) {
31          this.project = project;
32      }
33  
34      public String getResource() {
35          return resource;
36      }
37  
38      public GeneratedFile getExtensionFile(String name){
39      	String projectDir = project.getApplicationPath();
40      	for (GeneratedFile gen : extensionFiles) {
41  			if( name.equals(projectDir + "/" + gen.getSourcePath())) {
42  				return gen;
43  			}
44  		}
45      	return null;
46      }
47  
48      /**
49       * Notify the ExtensionPointtracker that 'resource'is started
50       * 
51       * @param resource
52       */
53      public FileTrack(String resource) {
54          this.resource = resource;
55          generatedFiles = new ArrayList<GeneratedFile>();
56          extensionFiles = new ArrayList<GeneratedFile>();
57      }
58  
59      public GeneratedFile generatedFile(String filename) {
60      	// Check whether the resource already exists
61      	for(GeneratedFile ext : generatedFiles){
62      		if( ext.getSourcePath().equals(filename)){
63      			return ext;
64      		}
65      	}
66      	// if not creat a new one
67          GeneratedFile gen = new GeneratedFile(filename, FileType.UNKNOWN, this, false);
68          generatedFiles.add(gen);
69          return gen;
70      }
71  
72      public GeneratedFile extensionFile(String filename) {
73      	// Check whether the resource already exists
74      	for(GeneratedFile ext : extensionFiles){
75      		if( ext.getSourcePath().equals(filename)){
76      			return ext;
77      		}
78      	}
79      	// if not creat a new one
80          GeneratedFile gen = new GeneratedFile(filename, FileType.UNKNOWN, this, true);
81          extensionFiles.add(gen);
82          return gen;
83      }
84  
85      public List<GeneratedFile> getGeneratedFiles() {
86          return generatedFiles;
87      }
88  
89      public List<GeneratedFile> getExtensionFiles() {
90          return extensionFiles;
91      }
92  
93      public void clear() {
94          generatedFiles.clear();
95          extensionFiles.clear();
96      }
97  }