1 /* 2 * The contents of this file are subject to the terms 3 * of the Common Development and Distribution License 4 * (the License). You may not use this file except in 5 * compliance with the License. 6 * 7 * You can obtain a copy of the license at 8 * https://glassfish.dev.java.net/public/CDDLv1.0.html or 9 * glassfish/bootstrap/legal/CDDLv1.0.txt. 10 * See the License for the specific language governing 11 * permissions and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL 14 * Header Notice in each file and include the License file 15 * at glassfish/bootstrap/legal/CDDLv1.0.txt. 16 * If applicable, add the following below the CDDL Header, 17 * with the fields enclosed by brackets [] replaced by 18 * you own identifying information: 19 * "Portions Copyrighted [year] [name of copyright owner]" 20 * 21 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22 */ 23 24 package javax.enterprise.deploy.spi; 25 26 import javax.enterprise.deploy.model.DDBeanRoot; 27 28 /** 29 * A J2EE component module consists of one or more deployment 30 * descriptor files and zero or more non-deployment descriptor 31 * XML instance documents. A module must contain a component-specific 32 * deployment descriptor file (see the component specification for 33 * details). It may contain one or more secondary deployment descriptor 34 * files that define extra functionality on the component and zero or more 35 * non-deployment descriptor XML instance documents (see the Web Services 36 * specification). 37 * 38 * <p> 39 * The DConfigBeanRoot object is a deployment configuration bean 40 * (DConfigBean) that is associated with the root of the component's 41 * deployment descriptor. It must be created by calling the 42 * DeploymentConfiguration.getDConfigBean(DDBeanRoot) method, where 43 * DDBeanRoot represents the component's deployment descriptor. 44 * 45 * <p> 46 * A DConfigBean object is associated with a deployment descriptor 47 * that extends a component's functionality. It must be created by 48 * calling the DConfigBeanRoot.getDConfigBean(DDBeanRoot) method. This 49 * DConfigBean object is a child of the compontent's DConfigBeanRoot 50 * object. The DDBeanRoot argument represents the secondary deployment 51 * descriptor. Deployment descriptor files such as webservice.xml and 52 * webserviceclient.xml are examples of secondary deployment descriptor 53 * files. 54 * 55 * <p> 56 * The server plugin must request a DDBeanRoot object for any non-deployment 57 * descriptor XML instance document data it requires. The plugin must 58 * call method DeployableObject.getDDBeanRoot(String) where String is the 59 * full path name from the root of the module to the file to be represented. 60 * A WSDL file is an example of a non-deployment descriptor XML instance 61 * document. 62 * 63 * @author gfink 64 */ 65 public interface DConfigBeanRoot extends DConfigBean { 66 67 /** 68 * Return a DConfigBean for a deployment descriptor that is not 69 * the module's primary deployment descriptor. Web services 70 * provides a deployment descriptor in addition to the module's 71 * primary deployment descriptor. Only the DDBeanRoot for this 72 * catagory of secondary deployment descriptors are to be passed 73 * as arguments through this method. 74 * 75 * Web service has two deployment descriptor files, one that defines 76 * the web service and one that defines a client of a web service. 77 * See the Web Service specificiation for the details. 78 79 * 80 * @param ddBeanRoot represents the root element of a deployment 81 * descriptor file. 82 * 83 * @return a DConfigBean to be used for processing this deployment 84 * descriptor data. Null may be returned if no DConfigBean is 85 * required for this deployment descriptor. 86 */ 87 public DConfigBean getDConfigBean(DDBeanRoot ddBeanRoot); 88 } 89 90