javax.portlet.annotations.ActionMethod Maven / Gradle / Ivy
Show all versions of portlet-api Show documentation
/* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/*
* This source code implements specifications defined by the Java
* Community Process. In order to remain compliant with the specification
* DO NOT add / change / or delete method signatures!
*/
package javax.portlet.annotations;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
/**
*
* Designates a method corresponding to the portlet API processAction method.
* The annotated method must have the following signature:
*
* public void <methodName>(ActionRequest, ActionResponse)
*
* where the method name can be freely selected.
*
* The method declaration may contain a throws clause. Exceptions declared in the
* throws clause should be of type {@link javax.portlet.PortletException} or
* {@link java.io.IOException}.
* Checked exceptions of any other type will be caught, wrapped with a PortletException,
* and rethrown.
*
*
* @see javax.portlet.Portlet#processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse) processAction
*
*/
@Retention(RUNTIME) @Target({METHOD})
public @interface ActionMethod {
/**
* The portlet name for the annotated method.
*
* @return The portlet name
*/
String portletName();
/**
* The action name.
*
* If an action name is specified, the bean enabler will dispatch Action requests with
* matching values of the reserved "javax.portlet.action" parameter to this method.
*
* An ActionMethod with an empty action name will receive all
* Action requests not dispatched to other named ActionMethods.
*
* @return The action name
*/
String actionName() default "";
/**
*
* The QName definitions of the events published by this method.
*
*
* @see EventDefinition
* @see PortletQName
*
* @return The processing event QNames
*/
PortletQName[] publishingEvents() default {};
}