001/* 002 GRANITE DATA SERVICES 003 Copyright (C) 2011 GRANITE DATA SERVICES S.A.S. 004 005 This file is part of Granite Data Services. 006 007 Granite Data Services is free software; you can redistribute it and/or modify 008 it under the terms of the GNU Library General Public License as published by 009 the Free Software Foundation; either version 2 of the License, or (at your 010 option) any later version. 011 012 Granite Data Services is distributed in the hope that it will be useful, but 013 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 014 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License 015 for more details. 016 017 You should have received a copy of the GNU Library General Public License 018 along with this library; if not, see <http://www.gnu.org/licenses/>. 019*/ 020 021package org.granite.config.servlet3; 022 023import static java.lang.annotation.ElementType.TYPE; 024import static java.lang.annotation.RetentionPolicy.RUNTIME; 025 026import java.lang.annotation.Annotation; 027import java.lang.annotation.Inherited; 028import java.lang.annotation.Retention; 029import java.lang.annotation.Target; 030 031import org.granite.config.ConfigProvider; 032import org.granite.messaging.amf.process.AMF3MessageInterceptor; 033import org.granite.messaging.service.ExceptionConverter; 034import org.granite.messaging.service.ServiceFactory; 035import org.granite.messaging.service.annotations.RemoteDestination; 036import org.granite.messaging.service.security.SecurityService; 037 038 039@Inherited 040@Retention(RUNTIME) 041@Target({TYPE}) 042public @interface ServerFilter { 043 044 String graniteUrlMapping() default "/graniteamf/*"; 045 046 String gravityUrlMapping() default "/gravityamf/*"; 047 048 boolean tide() default false; 049 050 String type() default ""; 051 052 Class<? extends ConfigProvider> configProviderClass() default ConfigProvider.class; 053 054 Class<? extends ServiceFactory> factoryClass() default ServiceFactory.class; 055 056 Class<? extends SecurityService> securityServiceClass() default SecurityService.class; 057 058 Class<?>[] tideInterfaces() default {}; 059 060 Class<? extends Annotation>[] tideAnnotations() default { RemoteDestination.class }; 061 062 String[] tideNames() default {}; 063 064 String[] tideTypes() default {}; 065 066 String[] tideRoles() default {}; 067 068 Class<? extends ExceptionConverter>[] exceptionConverters() default {}; 069 070 Class<? extends AMF3MessageInterceptor> amf3MessageInterceptor() default AMF3MessageInterceptor.class; 071 072 String ejbLookup() default ""; 073 074 String entityManagerFactoryJndiName() default ""; 075 076 String entityManagerJndiName() default ""; 077 078 String validatorClassName() default ""; 079 080 boolean useBigDecimal() default false; 081 082 boolean useBigInteger() default false; 083 084 boolean useLong() default false; 085}