01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2006 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id$
23: */
24: package com.bostechcorp.cbesb.ui.ide.classpath;
25:
26: import org.eclipse.core.runtime.CoreException;
27: import org.eclipse.core.runtime.IPath;
28: import org.eclipse.jdt.core.ClasspathContainerInitializer;
29: import org.eclipse.jdt.core.IClasspathContainer;
30: import org.eclipse.jdt.core.IJavaProject;
31: import org.eclipse.jdt.core.JavaCore;
32:
33: public abstract class AbstractClasspathContainerInitializer extends
34: ClasspathContainerInitializer {
35: /**Constructor for the AbstractClasspathContainerInitializer object */
36: public AbstractClasspathContainerInitializer() {
37: }
38:
39: /**
40: * Description of the Method
41: *
42: * @param containerPath Description of the Parameter
43: * @param project Description of the Parameter
44: * @exception CoreException Description of the Exception
45: */
46: public void initialize(IPath containerPath, IJavaProject project)
47: throws CoreException {
48: int size = containerPath.segmentCount();
49: if (size > 0) {
50: if (containerPath.segment(0).equals(
51: this .getClasspathContainerID())) {
52: AbstractClasspathContainer container = this
53: .createClasspathContainer(containerPath);
54: JavaCore.setClasspathContainer(containerPath,
55: new IJavaProject[] { project },
56: new IClasspathContainer[] { container }, null);
57: }
58: }
59: }
60:
61: /**
62: * Description of the Method
63: *
64: * @param path Description of the Parameter
65: * @return Description of the Return Value
66: */
67: protected abstract AbstractClasspathContainer createClasspathContainer(
68: IPath path);
69:
70: /**
71: * Gets the classpathContainerID attribute of the AbstractClasspathContainerInitializer object
72: *
73: * @return The classpathContainerID value
74: */
75: protected abstract String getClasspathContainerID();
76: }
|