Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaProject.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaProject.java374
1 files changed, 0 insertions, 374 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaProject.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaProject.java
deleted file mode 100644
index 2b4abb5adb..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaProject.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.core;
-
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.core.context.JpaRootContextNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.db.ConnectionProfile;
-import org.eclipse.jpt.db.Schema;
-import org.eclipse.jpt.utility.CommandExecutor;
-import org.eclipse.jpt.utility.CommandExecutorProvider;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- *
- *
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface JpaProject extends JpaNode {
-
- /**
- * Return the JPA project's name, which is the Eclipse project's name.
- */
- String getName();
-
- /**
- * Return the Eclipse project associated with the JPA project.
- */
- IProject getProject();
-
- /**
- * Return the Java project associated with the JPA project.
- */
- IJavaProject getJavaProject();
-
- /**
- * Return the vendor-specific JPA platform that builds the JPA project
- * and its contents.
- */
- JpaPlatform getJpaPlatform();
-
- /**
- * Return the project's connection
- */
- ConnectionProfile getConnectionProfile();
-
- /**
- * Return the primary schema associated with this project, which unless overridden,
- * is the default schema from the connection
- * @see JpaProject#getUserOverrideDefaultSchema()
- * @return The default schema. May be null if the connection is not connected.
- */
- Schema getDefaultSchema();
-
- /**
- * Return the user specified schema to be used as a default for this project.
- * @see JpaProject#getUserOverrideDefaultSchemaName()
- * @return The user specified default schema. May be null if the connection
- * is not connected or if the user has not overridden the schema (implies
- * the default schema associated with the connection profile should be used).
- */
- Schema getUserOverrideDefaultSchema();
-
- /**
- * Return the data source the JPA project is mapped to.
- */
- JpaDataSource getDataSource();
-
-
- // **************** user override default schema name **********************
-
- /**
- * ID string used when userOverrideDefaultSchemaName property is changed.
- * @see org.eclipse.jpt.utility.model.Model#addPropertyChangeListener(String, org.eclipse.jpt.utility.model.listener.PropertyChangeListener)
- */
- String USER_OVERRIDE_DEFAULT_SCHEMA_NAME_PROPERTY = "userOverrideDefaultSchemaName";
-
- /**
- * Return the name of the schema to be used as a default for the project
- * instead of the one that is defaultly associated with the connection profile.
- * @return The schema name. May be null (implies that the connection profile
- * default schema should be used).
- */
- String getUserOverrideDefaultSchemaName();
-
- /**
- * Set the name of the schema to be used as a default for the project
- * instead of the one that is defaultly associated with the connection profile.
- * @parameter defaultSchemaName - The default schema name to use instead of
- * the default schema of the connection profile. May be null (implies that
- * the connection profile default schema should be used).
- */
- void setUserOverrideDefaultSchemaName(String defaultSchemaName);
-
-
- // **************** discover annotated classes *****************************
-
- /**
- * ID string used when discoversAnnotatedClasses property is changed.
- * @see org.eclipse.jpt.utility.model.Model#addPropertyChangeListener(String, org.eclipse.jpt.utility.model.listener.PropertyChangeListener)
- */
- String DISCOVERS_ANNOTATED_CLASSES_PROPERTY = "discoversAnnotatedClasses";
-
- /**
- * Return whether the JPA project will "discover" annotated classes
- * automatically, as opposed to requiring the classes to be
- * listed in persistence.xml.
- */
- boolean discoversAnnotatedClasses();
-
- /**
- * Set whether the JPA project will "discover" annotated classes
- * automatically, as opposed to requiring the classes to be
- * listed in persistence.xml.
- */
- void setDiscoversAnnotatedClasses(boolean discoversAnnotatedClasses);
-
-
- // **************** jpa files **********************************************
-
- /**
- * ID string used when jpaFiles collection is changed.
- * @see org.eclipse.jpt.utility.model.Model#addCollectionChangeListener(String, org.eclipse.jpt.utility.model.listener.CollectionChangeListener)
- */
- String JPA_FILES_COLLECTION = "jpaFiles";
-
- /**
- * Return the JPA project's JPA files.
- */
- Iterator<JpaFile> jpaFiles();
-
- /**
- * Return the size of the JPA project's JPA files.
- */
- int jpaFilesSize();
-
- /**
- * Return the JPA file corresponding to the specified file.
- * Return null if unable to associate the given file
- * with a JPA file.
- */
- JpaFile getJpaFile(IFile file);
-
- /**
- * Return the JPA project's JPA files for the specified content type ID.
- * The content type ID should match that given in the
- * JPA file content provider.
- */
- Iterator<JpaFile> jpaFiles(String contentTypeId);
-
-
- // **************** various queries ****************************************
-
- /**
- * Return the JPA project's root "deploy path".
- * JPA projects associated with Web projects return "WEB-INF/classes";
- * all others simply return an empty string.
- */
- String getRootDeployLocation();
-
- /**
- * Return the {@link JpaRootContextNode} representing the JPA content of this project
- */
- JpaRootContextNode getRootContext();
-
- /**
- * Return the names of the JPA project's annotated classes.
- */
- Iterator<String> annotatedClassNames();
-
- /**
- * Return the Java persistent type resource for the specified fully qualified type name;
- * null, if none exists.
- */
- // TODO rename getJavaResourcePersistentType(String)
- JavaResourcePersistentType getJavaPersistentTypeResource(String typeName);
-
-
- // **************** jpa model synchronization and lifecycle ****************
-
- /**
- * Synchronize the JPA project's JPA files with the specified resource
- * delta, watching for added and removed files.
- */
- void synchronizeJpaFiles(IResourceDelta delta) throws CoreException;
-
- /**
- * Forward the Java element change event to the JPA project's JPA files.
- */
- void javaElementChanged(ElementChangedEvent event);
-
- /**
- * The JPA project has been removed from the JPA model. Clean up any
- * hooks to external resources etc.
- */
- void dispose();
-
-
- // **************** validation *********************************************
-
- /**
- * Return project's validation messages.
- */
- Iterator<IMessage> validationMessages();
-
- /**
- * Add to the list of current validation messages
- */
- void addToMessages(List<IMessage> messages);
-
-
- // **************** support for modifying shared documents *****************
-
- /**
- * Set a thread-specific implementation of the CommandExecutor
- * interface that will be used to execute a command to modify a shared
- * document. If necessary, the command executor can be cleared by
- * setting it to null.
- * This allows background clients to modify documents that are
- * already present in the UI. See implementations of CommandExecutor.
- */
- void setThreadLocalModifySharedDocumentCommandExecutor(CommandExecutor commandExecutor);
-
- /**
- * Return the project-wide implementation of the CommandExecutorProvider
- * interface.
- */
- CommandExecutorProvider getModifySharedDocumentCommandExecutorProvider();
-
-
- // **************** project "update" ***************************************
-
- /**
- * Return the implementation of the Updater
- * interface that will be used to "update" a JPA project.
- */
- Updater getUpdater();
-
- /**
- * Set the implementation of the Updater
- * interface that will be used to "update" a JPA project.
- * Before setting the updater, Clients should save the current updater so
- * it can be restored later.
- */
- void setUpdater(Updater updater);
-
- /**
- * Something in the JPA project has changed, "update" those parts of the
- * JPA project that are dependent on other parts of the JPA project.
- * This is called when
- * - The JPA project updater is changed {@link JpaProject#setUpdater(Updater)}
- * - anything in the JPA project changes
- * - the JPA project's database connection is changed, opened, or closed
- */
- void update();
-
- /**
- * This is the callback used by the updater to perform the actual
- * "update".
- */
- IStatus update(IProgressMonitor monitor);
-
-
- /**
- * Define a strategy that can be used to "update" a JPA project whenever
- * something changes.
- */
- interface Updater {
-
- /**
- * The updater has just been assigned to its JPA project.
- */
- void start();
-
- /**
- * Update the JPA project.
- */
- void update();
-
- /**
- * The JPA project is disposed; dispose the updater.
- */
- void dispose();
-
- /**
- * This updater does nothing. Useful for testing.
- */
- final class Null implements Updater {
- private static final Updater INSTANCE = new Null();
- public static Updater instance() {
- return INSTANCE;
- }
- // ensure single instance
- private Null() {
- super();
- }
- public void start() {
- // do nothing
- }
- public void update() {
- // do nothing
- }
- public void dispose() {
- // do nothing
- }
- @Override
- public String toString() {
- return "IJpaProject.Updater.Null";
- }
- }
-
- }
-
-
- // **************** config that can be used to construct a JPA project *****
-
- /**
- * The settings used to construct a JPA project.
- */
- interface Config {
-
- /**
- * Return the Eclipse project to be associated with the new JPA project.
- */
- IProject getProject();
-
- /**
- * Return the JPA platform to be associated with the new JPA project.
- */
- JpaPlatform getJpaPlatform();
-
- /**
- * Return the name of the connection profile to be associated
- * with the new JPA project. (This connection profile wraps a DTP
- * connection profile.)
- */
- String getConnectionProfileName();
-
- /**
- * Return the name of the schema to use instead of the default schema
- * of the connection profile.
- * May be null.
- */
- String getUserOverrideDefaultSchemaName();
-
- /**
- * Return whether the new JPA project is to "discover" annotated
- * classes.
- */
- boolean discoverAnnotatedClasses();
-
- }
-
-}

Back to the top