All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.portlet.annotations.PortletSerializable Maven / Gradle / Ivy

Go to download

The Java Portlet API version 3.0 developed by the Java Community Process JSR-362 Expert Group.

The newest version!
/*  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;

/**
 * 
* This interface must be implemented by {@link RenderStateScoped} beans * in order to allow the bean portlet container to intialize the bean at the * beginning of a request and passivate the bean at the end of the request. *

* These methods are not intended to be called by application code. *

* A {@literal @}RenderStateScoped bean must be a valid bean; in particular, * it must provide a default constructor or be constructable through an * {@literal @}Produces method or field. *

* Note that only changes made to the bean state during ActionMethod * or EventMethod execution are stored in the render state. * Changes made during RenderMethod, ServeResourceMethod, * or HeaderMethod execution will not be available during subsequent requests. *

* * @see RenderStateScoped * * @since 3.0 */ public interface PortletSerializable { /** *
* The portlet bean container calls this method after {@link ActionMethod} * or {@link EventMethod} execution to obtain the bean state. *

* The bean developer should take care to include all internal bean data in the * returned state that is necessary for properly initializing the bean when the * portlet bean container calls the * {@link PortletSerializable#deserialize(String[]) deserialize} method. *

* If no bean data has been set, this method should return an empty array or * null in order to avoid setting extraneous parameters. *

* * @return The bean state as a string array. */ public String[] serialize(); /** *
* The bean portlet container calls this method at the beginning of every portlet * request method that uses the bean. *

* The string array render state data is the same array provided to the container * by the {@link PortletSerializable#serialize() serialize} method. * The bean should reconstruct its internal state during execution of this method. *

* If no data is available for the portlet, for example because because no * {@link ActionMethod} or {@link EventMethod} has been executed for the portlet, * the state parameter will be an empty array. *

* If the state array is empty, the bean implementation should provide approriate * default values for its internal variables. *

* * @param state The bean state as string array. * The array will be empty if bean data has not yet been set. */ public void deserialize(String[] state); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy