Author: mculpepper(a)jboss.com
Date: 2007-05-21 19:46:43 -0400 (Mon, 21 May 2007)
New Revision: 2040
Added:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/StandaloneArchivesCore.java
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ArchivesCore.java
Log:
archives core has been made abstract and seperated into standalone/workspace
implementations
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ArchivesCore.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ArchivesCore.java 2007-05-21
19:55:12 UTC (rev 2039)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ArchivesCore.java 2007-05-21
23:46:43 UTC (rev 2040)
@@ -3,21 +3,15 @@
import org.jboss.ide.eclipse.archives.core.model.other.IExtensionManager;
import org.jboss.ide.eclipse.archives.core.model.other.IPreferenceManager;
import org.jboss.ide.eclipse.archives.core.model.other.IRuntimeVariables;
-import
org.jboss.ide.eclipse.archives.core.model.other.internal.WorkspaceExtensionManager;
-import
org.jboss.ide.eclipse.archives.core.model.other.internal.WorkspacePreferenceManager;
-import org.jboss.ide.eclipse.archives.core.model.other.internal.WorkspaceVariables;
-public class ArchivesCore {
+public abstract class ArchivesCore {
private static ArchivesCore instance;
+ // Due to classloader restrictions we won't be able to lazy load, but that should be
ok as long
+ // as we keep the construction of ArchivesCore subclasses to a minimum
public static ArchivesCore getInstance() {
- if( instance == null )
- instance = new ArchivesCore(WORKSPACE);
return instance;
}
- public static void create(int type) {
- instance = new ArchivesCore(type);
- }
public static final int STANDALONE = 0;
public static final int WORKSPACE = 1;
@@ -29,15 +23,17 @@
public ArchivesCore(int runType) {
this.runType = runType;
- if( this.runType == STANDALONE) {
- //variables = new StandaloneVariables();
- } else {
- variables = new WorkspaceVariables();
- extensionManager = new WorkspaceExtensionManager();
- preferenceManager = new WorkspacePreferenceManager();
- }
+ variables = createVariables();
+ extensionManager = createExtensionManager();
+ preferenceManager = createPreferenceManager();
+
+ instance = this;
}
+ protected abstract IRuntimeVariables createVariables();
+ protected abstract IExtensionManager createExtensionManager();
+ protected abstract IPreferenceManager createPreferenceManager();
+
public boolean isWorkspaceRuntype() {
return runType == WORKSPACE;
}
Added:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/StandaloneArchivesCore.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/StandaloneArchivesCore.java
(rev 0)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/StandaloneArchivesCore.java 2007-05-21
23:46:43 UTC (rev 2040)
@@ -0,0 +1,29 @@
+package org.jboss.ide.eclipse.archives.core;
+
+import org.jboss.ide.eclipse.archives.core.model.other.IExtensionManager;
+import org.jboss.ide.eclipse.archives.core.model.other.IPreferenceManager;
+import org.jboss.ide.eclipse.archives.core.model.other.IRuntimeVariables;
+import
org.jboss.ide.eclipse.archives.core.model.other.internal.StandaloneExtensionManager;
+import
org.jboss.ide.eclipse.archives.core.model.other.internal.StandalonePreferenceManager;
+import org.jboss.ide.eclipse.archives.core.model.other.internal.StandaloneVariables;
+
+public class StandaloneArchivesCore extends ArchivesCore {
+
+ public StandaloneArchivesCore ()
+ {
+ super(STANDALONE);
+ }
+
+ protected IExtensionManager createExtensionManager() {
+ return new StandaloneExtensionManager();
+ }
+
+ protected IPreferenceManager createPreferenceManager() {
+ return new StandalonePreferenceManager();
+ }
+
+ protected IRuntimeVariables createVariables() {
+ return new StandaloneVariables();
+ }
+
+}
Show replies by date