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: */package org.apache.openejb;
017:
018: import org.apache.openejb.core.interceptor.InterceptorData;
019: import org.apache.openejb.core.timer.EjbTimerService;
020: import org.apache.openejb.core.ExceptionType;
021:
022: import java.lang.reflect.Method;
023: import java.util.Collection;
024: import java.util.Map;
025: import java.util.List;
026: import javax.naming.Context;
027:
028: public interface DeploymentInfo {
029:
030: final public static byte TX_NEVER = (byte) 0;
031:
032: final public static byte TX_NOT_SUPPORTED = (byte) 1;
033:
034: final public static byte TX_SUPPORTS = (byte) 2;
035:
036: final public static byte TX_MANDITORY = (byte) 3;
037:
038: final public static byte TX_REQUIRED = (byte) 4;
039:
040: final public static byte TX_REQUIRES_NEW = (byte) 5;
041:
042: final public static byte TX_MAX = (byte) 5;
043:
044: final public static String AC_CREATE_EJBHOME = "create.ejbhome";
045:
046: public BeanType getComponentType();
047:
048: public InterfaceType getInterfaceType(Class clazz);
049:
050: public byte getTransactionAttribute(Method method);
051:
052: public Collection<String> getAuthorizedRoles(Method method);
053:
054: public String[] getAuthorizedRoles(String action);
055:
056: public Container getContainer();
057:
058: public Object getDeploymentID();
059:
060: public String getEjbName();
061:
062: public String getModuleID();
063:
064: public String getRunAs();
065:
066: public String getSecurityRole(String securityRoleReference);
067:
068: public boolean isBeanManagedTransaction();
069:
070: public Class getHomeInterface();
071:
072: public Class getLocalHomeInterface();
073:
074: public Class getLocalInterface();
075:
076: public Class getRemoteInterface();
077:
078: public Class getBeanClass();
079:
080: public Class getPrimaryKeyClass();
081:
082: public Class getBusinessLocalInterface();
083:
084: public Class getBusinessRemoteInterface();
085:
086: public List<Class> getBusinessLocalInterfaces();
087:
088: public List<Class> getBusinessRemoteInterfaces();
089:
090: public Class getServiceEndpointInterface();
091:
092: public String getPrimaryKeyField();
093:
094: public Context getJndiEnc();
095:
096: public boolean isReentrant();
097:
098: public Class getInterface(InterfaceType interfaceType);
099:
100: public List<Class> getInterfaces(InterfaceType interfaceType);
101:
102: public Class getMdbInterface();
103:
104: public Map<String, String> getActivationProperties();
105:
106: public ClassLoader getClassLoader();
107:
108: public List<Method> getAroundInvoke();
109:
110: public List<Method> getPostConstruct();
111:
112: public List<Method> getPreDestroy();
113:
114: public List<Method> getPostActivate();
115:
116: public List<Method> getPrePassivate();
117:
118: public List<Injection> getInjections();
119:
120: public List<InterceptorData> getMethodInterceptors(Method method);
121:
122: public void setContainer(Container container);
123:
124: public Method getEjbTimeout();
125:
126: public EjbTimerService getEjbTimerService();
127:
128: public ExceptionType getExceptionType(Throwable e);
129:
130: public interface BusinessLocalHome extends javax.ejb.EJBLocalHome {
131: Object create();
132: }
133:
134: public interface BusinessRemoteHome extends javax.ejb.EJBHome {
135: Object create();
136: }
137:
138: public interface ServiceEndpoint {
139: }
140:
141: public <T> T get(Class<T> type);
142:
143: public <T> T set(Class<T> type, T value);
144:
145: public boolean retainIfExeption(Method removeMethod);
146: }
|