1 19 20 package org.netbeans.bluej; 21 22 import java.io.IOException ; 23 import java.lang.ref.WeakReference ; 24 import java.util.ArrayList ; 25 import java.util.Iterator ; 26 import java.util.List ; 27 import org.netbeans.api.project.Project; 28 import org.netbeans.spi.project.support.ant.AntBasedProjectType; 29 import org.netbeans.spi.project.support.ant.AntProjectHelper; 30 31 35 public final class BluejProjectType implements AntBasedProjectType { 36 37 public static final String TYPE = "org.netbeans.bluej.bluejproject"; private static final String PROJECT_CONFIGURATION_NAME = "data"; public static final String PROJECT_CONFIGURATION_NAMESPACE = "http://www.netbeans.org/ns/bluej-project/1"; private static final String PRIVATE_CONFIGURATION_NAME = "data"; private static final String PRIVATE_CONFIGURATION_NAMESPACE = "http://www.netbeans.org/ns/bluej-project-private/1"; 43 private List weakList = new ArrayList (); 44 45 public BluejProjectType() {} 46 47 public String getType() { 48 return TYPE; 49 } 50 51 public Project createProject(AntProjectHelper helper) throws IOException { 52 Iterator it = weakList.iterator(); 53 while (it.hasNext()) { 54 WeakReference ref = (WeakReference ) it.next(); 55 Project elem = (Project)ref.get(); 56 if (elem != null && elem.getProjectDirectory().equals(helper.getProjectDirectory())) { 57 return elem; 58 } 59 } 60 Project toReturn = new BluejProject(helper); 61 weakList.add(new WeakReference (toReturn)); 62 return toReturn; 63 } 64 65 public String getPrimaryConfigurationDataElementName(boolean shared) { 66 return shared ? PROJECT_CONFIGURATION_NAME : PRIVATE_CONFIGURATION_NAME; 67 } 68 69 public String getPrimaryConfigurationDataElementNamespace(boolean shared) { 70 return shared ? PROJECT_CONFIGURATION_NAMESPACE : PRIVATE_CONFIGURATION_NAMESPACE; 71 } 72 73 } 74 | Popular Tags |