1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 package org.netbeans.modules.j2ee.persistence.spi.provider; 21 22 import java.util.List; 23 import org.netbeans.modules.j2ee.persistence.provider.Provider; 24 25 /** 26 * This interface should typically be implemented by projects where it 27 * is possible to use the Java Persistence API support. It provides means 28 * for getting the supported persistence providers and for querying 29 * whether a default persistence provider is supported. 30 * 31 * @author Erno Mononen 32 */ 33 public interface PersistenceProviderSupplier { 34 35 /** 36 * Gets the persistence providers that are supported in 37 * the project. The preferred provider should 38 * be the first item in the returned list. 39 * 40 * @return a list of the supported providers, or an empty list if no 41 * providers were supported; never null. 42 */ 43 List<Provider> getSupportedProviders(); 44 45 /** 46 * Queries whether a default persistence provider supported 47 * in the project (a default persistence provider is a provider that 48 * doesn't need to be specified in persistence.xml). 49 * @return true if the project supports a default 50 * persistence provider. 51 */ 52 boolean supportsDefaultProvider(); 53 54 } 55