blob: 9df7270608917a2db1e5272e343b2e951cc9f626 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 - 2013 Oracle Corporation. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Linda DeMichiel - Java Persistence 2.1
* Linda DeMichiel - Java Persistence 2.0
*
******************************************************************************/
package javax.persistence.spi;
import java.util.List;
/**
* Determine the list of persistence providers available in the
* runtime environment.
*
* <p> Implementations must be thread-safe.
*
* <p> Note that the <code>getPersistenceProviders</code> method can potentially
* be called many times: it is recommended that the implementation
* of this method make use of caching.
*
* @see PersistenceProvider
* @since Java Persistence 2.0
*/
public interface PersistenceProviderResolver {
/**
* Returns a list of the <code>PersistenceProvider</code> implementations
* available in the runtime environment.
*
* @return list of the persistence providers available
* in the environment
*/
List<PersistenceProvider> getPersistenceProviders();
/**
* Clear cache of providers.
*
*/
void clearCachedProviders();
}