1 17 18 package org.sape.carbon.services.config.classloader; 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 25 33 public class ClassloaderFolderFactory 34 implements NodeFactory { 35 36 43 public Node getInstance(Node parent, String name) 44 throws NodeCreationException { 45 46 ClassloaderFolder parentFolder; 47 try { 48 parentFolder = (ClassloaderFolder) parent; 49 } catch(ClassCastException cce) { 50 throw new InvalidParameterException( 51 this.getClass(), 52 "parent is not assignable from ClassloaderFolder", cce); 53 } 54 55 if (name == null) { 56 throw new InvalidParameterException( 57 this.getClass(), 58 "name cannot be null"); 59 } 60 String resourcePath = 61 parentFolder.getResourcePath() + name + 62 ClassloaderFolder.CLASSLOADER_DELIMETER; 63 64 return new ClassloaderFolder( 65 parent, 66 name, 67 parentFolder.getSubFolderFactory(), 68 parentFolder.getConfigurationDocumentFactory(), 69 parentFolder.getLinkNodeFactory(), 70 resourcePath, 71 parentFolder.getConfigSource()); 72 } 73 } | Popular Tags |