org.osgi.service.jpa.EntityManagerFactoryBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javax.persistence Show documentation
Show all versions of javax.persistence Show documentation
javax.persistence build based upon git transaction cfcdce1
The newest version!
/*
*
* Copyright (c) OSGi Alliance (2009). All Rights Reserved.
*
* Licensed 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.
*/
package org.osgi.service.jpa;
import java.util.Map;
import javax.persistence.EntityManagerFactory;
/**
* This service interface offers JPA clients the ability to create instances of
* EntityManagerFactory for a given named persistence unit. A service instance
* will be created for each named persistence unit and can be filtered on by
* comparing the value of the osgi.unit.name property containing the persistence
* unit name.
*
* This service is used specifically when the caller wants to pass in factory-scoped
* properties as arguments. If no properties are being used in the creation of the
* EntityManagerFactory then the basic EntityManagerFactory service should be used.
*/
public interface EntityManagerFactoryBuilder {
/**
* The name of the persistence unit.
*/
public static final String JPA_UNIT_NAME = "osgi.unit.name";
/**
* The version of the persistence unit bundle.
*/
public static final String JPA_UNIT_VERSION = "osgi.unit.version";
/**
* The class name of the provider that registered the service and implements
* the JPA javax.persistence.PersistenceProvider interface.
*/
public static final String JPA_UNIT_PROVIDER = "osgi.unit.provider";
/**
* Return an EntityManagerFactory instance configured according to the properties
* defined in the corresponding persistence descriptor, as well as the properties
* passed into the method.
*
* @param props Properties to be used, in addition to those in the persistence descriptor,
* for configuring the EntityManagerFactory for the persistence unit.
*
* @return An EntityManagerFactory for the persistence unit associated with this service.
*/
@SuppressWarnings("unchecked")
EntityManagerFactory createEntityManagerFactory(Map props);
}