1 17 18 package org.sape.carbon.services.config.jar; 19 20 import org.sape.carbon.core.config.node.Node; 21 import org.sape.carbon.core.config.node.NodeCreationException; 22 import org.sape.carbon.core.config.node.NodeFactory; 23 import org.sape.carbon.core.exception.InvalidParameterException; 24 import org.sape.carbon.core.util.jar.EnhancedJarFile; 25 26 34 public class JarFolderFactory 35 implements NodeFactory { 36 37 49 public Node getInstance(Node parent, String name) 50 throws NodeCreationException { 51 52 JarFolder parentJarFolder; 53 try { 54 parentJarFolder = (JarFolder) parent; 55 } catch (ClassCastException cce) { 56 throw new InvalidParameterException( 57 this.getClass(), 58 "parent is not assignable from JarFolder", cce); 59 } 60 61 if (name == null) { 62 throw new InvalidParameterException( 63 this.getClass(), 64 "name cannot be null"); 65 } 66 String entryName = 67 parentJarFolder.getInternalJarEntryName() + name 68 + EnhancedJarFile.JAR_DELIMETER; 69 70 return new JarFolder( 71 parent, 72 name, 73 parentJarFolder.getSubFolderFactory(), 74 parentJarFolder.getConfigurationDocumentFactory(), 75 parentJarFolder.getLinkNodeFactory(), 76 parentJarFolder.getReadWriteLock(), 77 parentJarFolder.getInternalJarFile(), 78 entryName); 79 } 80 } | Popular Tags |