/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * Copyright (c) 2010, Red Hat Inc. or third-party contributors as
 * indicated by the @author tags or express copyright attribution
 * statements applied by the authors.  All third-party contributions are
 * distributed under license by Red Hat Inc.
 *
 * This copyrighted material is made available to anyone wishing to use, modify,
 * copy, or redistribute it subject to the terms and conditions of the GNU
 * Lesser General Public License, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this distribution; if not, write to:
 * Free Software Foundation, Inc.
 * 51 Franklin Street, Fifth Floor
 * Boston, MA  02110-1301  USA
 */
package org.hibernate.engine.jndi.spi;

import javax.naming.event.NamespaceChangeListener;

import org.hibernate.service.Service;

Service providing simplified access to JNDI related features needed by Hibernate.
Author:Steve Ebersole
/** * Service providing simplified access to {@literal JNDI} related features needed by Hibernate. * * @author Steve Ebersole */
public interface JndiService extends Service {
Locate an object in JNDI by name
Params:
  • jndiName – The JNDI name of the object to locate
Returns:The object found (may be null).
/** * Locate an object in {@literal JNDI} by name * * @param jndiName The {@literal JNDI} name of the object to locate * * @return The object found (may be null). */
public Object locate(String jndiName);
Binds a value into JNDI by name.
Params:
  • jndiName – The name under which to bind the object
  • value – The value to bind
/** * Binds a value into {@literal JNDI} by name. * * @param jndiName The name under which to bind the object * @param value The value to bind */
public void bind(String jndiName, Object value);
Unbind a value from JNDI by name.
Params:
  • jndiName – The name under which the object is bound
/** * Unbind a value from {@literal JNDI} by name. * * @param jndiName The name under which the object is bound */
public void unbind(String jndiName);
Adds the specified listener to the given JNDI namespace.
Params:
  • jndiName – The JNDI namespace
  • listener – The listener
/** * Adds the specified listener to the given {@literal JNDI} namespace. * * @param jndiName The {@literal JNDI} namespace * @param listener The listener */
public void addListener(String jndiName, NamespaceChangeListener listener); }