1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package nl.toolforge.karma.core.manifest;
20
21 import nl.toolforge.karma.core.boot.WorkingContext;
22 import nl.toolforge.karma.core.location.LocationException;
23
24 /***
25 * Creation factory to be able to create {@link Manifest} instances. The reason to have this class
26 * is that Digester at some point calls <code>hashCode()</code> on newly created <code>AbstractManifest</code> instances
27 * and this fails with a <code>NullPointerException</code> if <code>name</code> is still
28 * <code>null</code>; Digester somehow calls upon the setName() later on in the process.
29 *
30 * @author D.A. Smedes
31 * @version $Id: ManifestFactory.java,v 1.10 2004/09/20 05:56:55 asmedes Exp $
32 */
33 public final class ManifestFactory {
34
35 public Manifest create(WorkingContext context, ManifestStructure structure) throws LocationException {
36
37 if (Manifest.DEVELOPMENT_MANIFEST.equals(structure.getType())) {
38 return new DevelopmentManifest(context, structure);
39 } else {
40 return new ReleaseManifest(context, structure);
41 }
42 }
43 }