001 /** 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018 package org.apache.geronimo.j2ee.deployment.annotation; 019 020 import java.util.List; 021 022 import org.apache.geronimo.xbeans.javaee.EjbLocalRefType; 023 import org.apache.geronimo.xbeans.javaee.EjbRefType; 024 import org.apache.geronimo.xbeans.javaee.EnvEntryType; 025 import org.apache.geronimo.xbeans.javaee.LifecycleCallbackType; 026 import org.apache.geronimo.xbeans.javaee.MessageDestinationRefType; 027 import org.apache.geronimo.xbeans.javaee.PersistenceContextRefType; 028 import org.apache.geronimo.xbeans.javaee.PersistenceUnitRefType; 029 import org.apache.geronimo.xbeans.javaee.ResourceEnvRefType; 030 import org.apache.geronimo.xbeans.javaee.ResourceRefType; 031 import org.apache.geronimo.xbeans.javaee.ServiceRefType; 032 033 /** 034 * Many of the classes generated from the JEE schemas have methods with identical signatures (see 035 * examples below). This interface can be used to encapsulate those methods so that the various 036 * AnnotationHelper classes can use the same code for multiple application types (e.g. WebAppType, 037 * ApplicationClientType, etc). 038 * <p/> 039 * <p><strong>Example(s):</strong> 040 * <pre> 041 * public interface ApplicationClientType extends org.apache.xmlbeans.XmlObject { 042 * org.apache.geronimo.xbeans.javaee.EnvEntryType[] getEnvEntryArray(); 043 * org.apache.geronimo.xbeans.javaee.ResourceRefType[] getResourceRefArray(); 044 * } 045 * <p/> 046 * public interface WebAppType extends org.apache.xmlbeans.XmlObject { 047 * org.apache.geronimo.xbeans.javaee.EnvEntryType[] getEnvEntryArray(); 048 * org.apache.geronimo.xbeans.javaee.ResourceRefType[] getResourceRefArray(); 049 * } 050 * </pre> 051 * <p/> 052 * <p><strong>Remaining ToDo(s):</strong> 053 * <ul> 054 * <li>None 055 * </ul> 056 * 057 * @version $Rev $Date 058 * @since Geronimo 2.0 059 */ 060 public interface AnnotatedApp { 061 062 /** 063 * XmlBeans methods used for the @EJB, @EJBs annotations 064 */ 065 EjbLocalRefType[] getEjbLocalRefArray(); 066 067 EjbLocalRefType addNewEjbLocalRef(); 068 069 EjbRefType[] getEjbRefArray(); 070 071 EjbRefType addNewEjbRef(); 072 073 074 /** 075 * XmlBeans methods used for the @Resource, @Resources annotations 076 */ 077 EnvEntryType[] getEnvEntryArray(); 078 079 EnvEntryType addNewEnvEntry(); 080 081 ServiceRefType[] getServiceRefArray(); 082 083 ServiceRefType addNewServiceRef(); 084 085 ResourceRefType[] getResourceRefArray(); 086 087 ResourceRefType addNewResourceRef(); 088 089 MessageDestinationRefType[] getMessageDestinationRefArray(); 090 091 MessageDestinationRefType addNewMessageDestinationRef(); 092 093 ResourceEnvRefType[] getResourceEnvRefArray(); 094 095 ResourceEnvRefType addNewResourceEnvRef(); 096 097 098 /** 099 * ApplicationType getter in string format 100 * 101 * @return String representation of ApplicationType 102 */ 103 String toString(); 104 105 106 /** 107 * ambiguousRefs getter 108 * <p/> 109 * <p>There is no corresponding setter method. To add a new item to the list do this: 110 * <p/> 111 * <pre> 112 * getAmbiguousEjbRefs().add(ejbRef); 113 * </pre> 114 * 115 * @return ambiguousRefs list 116 */ 117 List<EjbRefType> getAmbiguousEjbRefs(); 118 119 LifecycleCallbackType[] getPostConstructArray(); 120 LifecycleCallbackType addPostConstruct(); 121 122 LifecycleCallbackType[] getPreDestroyArray(); 123 LifecycleCallbackType addPreDestroy(); 124 125 PersistenceContextRefType[] getPersistenceContextRefArray(); 126 PersistenceContextRefType addNewPersistenceContextRef(); 127 128 PersistenceUnitRefType[] getPersistenceUnitRefArray(); 129 PersistenceUnitRefType addNewPersistenceUnitRef(); 130 131 String getComponentType(); 132 }