/*
 * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package org.glassfish.jersey.internal;

import java.util.Collection;

TODO: javadoc.
Author:Marek Potociar
/** * TODO: javadoc. * * @author Marek Potociar */
public interface PropertiesDelegate {
Returns the property with the given name registered in the current request/response exchange context, or null if there is no property by that name.

A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.

A list of supported properties can be retrieved using getPropertyNames(). Custom property names should follow the same convention as package names.

Params:
  • name – a String specifying the name of the property.
See Also:
Returns:an Object containing the value of the property, or null if no property exists matching the given name.
/** * Returns the property with the given name registered in the current request/response * exchange context, or {@code null} if there is no property by that name. * <p> * A property allows a JAX-RS filters and interceptors to exchange * additional custom information not already provided by this interface. * </p> * <p> * A list of supported properties can be retrieved using {@link #getPropertyNames()}. * Custom property names should follow the same convention as package names. * </p> * * @param name a {@code String} specifying the name of the property. * @return an {@code Object} containing the value of the property, or * {@code null} if no property exists matching the given name. * @see #getPropertyNames() */
public Object getProperty(String name);
Returns an immutable collection containing the property names available within the context of the current request/response exchange context.

Use the getProperty method with a property name to get the value of a property.

See Also:
Returns:an immutable collection of property names.
/** * Returns an immutable {@link java.util.Collection collection} containing the property * names available within the context of the current request/response exchange context. * <p> * Use the {@link #getProperty} method with a property name to get the value of * a property. * </p> * * @return an immutable {@link java.util.Collection collection} of property names. * @see #getProperty */
public Collection<String> getPropertyNames();
Binds an object to a given property name in the current request/response exchange context. If the name specified is already used for a property, this method will replace the value of the property with the new value.

A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.

A list of supported properties can be retrieved using getPropertyNames(). Custom property names should follow the same convention as package names.

If a null value is passed, the effect is the same as calling the removeProperty(String) method.

Params:
  • name – a String specifying the name of the property.
  • object – an Object representing the property to be bound.
/** * Binds an object to a given property name in the current request/response * exchange context. If the name specified is already used for a property, * this method will replace the value of the property with the new value. * <p> * A property allows a JAX-RS filters and interceptors to exchange * additional custom information not already provided by this interface. * </p> * <p> * A list of supported properties can be retrieved using {@link #getPropertyNames()}. * Custom property names should follow the same convention as package names. * </p> * <p> * If a {@code null} value is passed, the effect is the same as calling the * {@link #removeProperty(String)} method. * </p> * * @param name a {@code String} specifying the name of the property. * @param object an {@code Object} representing the property to be bound. */
public void setProperty(String name, Object object);
Removes a property with the given name from the current request/response exchange context. After removal, subsequent calls to getProperty to retrieve the property value will return null.
Params:
  • name – a String specifying the name of the property to be removed.
/** * Removes a property with the given name from the current request/response * exchange context. After removal, subsequent calls to {@link #getProperty} * to retrieve the property value will return {@code null}. * * @param name a {@code String} specifying the name of the property to be removed. */
public void removeProperty(String name); }