Bug 227417 Use api tooling for new security bundles
diff --git a/bundles/org.eclipse.equinox.security/.project b/bundles/org.eclipse.equinox.security/.project
index b44b241..65ced30 100644
--- a/bundles/org.eclipse.equinox.security/.project
+++ b/bundles/org.eclipse.equinox.security/.project
@@ -25,9 +25,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContext.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContext.java
index e07af5b..47b3971 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContext.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContext.java
@@ -21,6 +21,7 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILoginContext {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContextListener.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContextListener.java
index 8394ad0..b102d17 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContextListener.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/ILoginContextListener.java
@@ -20,6 +20,7 @@
  * This interface is not intended to be implemented or extended by clients.
  * </p>
  * @see ILoginContextListener
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILoginContextListener {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/LoginContextFactory.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/LoginContextFactory.java
index 65a2d02..3e8534a 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/LoginContextFactory.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/LoginContextFactory.java
@@ -20,6 +20,8 @@
  * <p>
  * This class is not intended to be instantiated or extended by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
  */
 final public class LoginContextFactory {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/CredentialsFactory.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/CredentialsFactory.java
index a068e7f..3329920 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/CredentialsFactory.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/CredentialsFactory.java
@@ -23,6 +23,8 @@
  * <p>  
  * This class is not intended to be instantiated or extended by clients.
  * </p> 
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
  */
 final public class CredentialsFactory {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPrivateCredential.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPrivateCredential.java
index 85ef38a..6f251c1 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPrivateCredential.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPrivateCredential.java
@@ -19,6 +19,7 @@
  * This interface should not be extended by clients.
  * </p>
  * @see Subject#getPrivateCredentials()
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPrivateCredential {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPublicCredential.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPublicCredential.java
index acbfb83..d7bdcfa 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPublicCredential.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/credentials/IPublicCredential.java
@@ -19,6 +19,7 @@
  * This interface should not be extended by clients.
  * </p>
  * @see Subject#getPublicCredentials()
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPublicCredential extends Principal {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/module/ExtensionLoginModule.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/module/ExtensionLoginModule.java
index a85b7b1..8eac809 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/module/ExtensionLoginModule.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/auth/module/ExtensionLoginModule.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation and others.
  * 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
@@ -27,6 +27,8 @@
  * </p><p>
  * This class should not be extended or instantiated directly.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
  */
 final public class ExtensionLoginModule implements LoginModule {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/EncodingUtils.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/EncodingUtils.java
index e57860c..b7555fb 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/EncodingUtils.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/EncodingUtils.java
@@ -18,6 +18,7 @@
  * <p>
  * This class is not intended to be instantiated or extended by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 final public class EncodingUtils {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/ISecurePreferences.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/ISecurePreferences.java
index 28ed184..46d5f1a 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/ISecurePreferences.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/ISecurePreferences.java
@@ -62,6 +62,8 @@
  * </p><p>
  * This interface is not intended to be implemented or extended by clients.
  * </p>
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ISecurePreferences {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/SecurePreferencesFactory.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/SecurePreferencesFactory.java
index a1bf567..9270754 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/SecurePreferencesFactory.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/SecurePreferencesFactory.java
@@ -22,6 +22,8 @@
  * <p>
  * This class is not intended to be instantiated or extended by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
  */
 final public class SecurePreferencesFactory {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/StorageException.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/StorageException.java
index 162e3df..f03321c 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/StorageException.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/StorageException.java
@@ -18,6 +18,7 @@
  * <p>
  * This class is not intended to be instantiated or extended by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 final public class StorageException extends Exception {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IPreferencesContainer.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IPreferencesContainer.java
index 5aac8f1..470cb18 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IPreferencesContainer.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IPreferencesContainer.java
@@ -22,6 +22,8 @@
  * This interface is not intended to be implemented or extended by clients.
  * </p>  
  * @see PasswordProvider
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
  */
 public interface IPreferencesContainer {
 
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IProviderHints.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IProviderHints.java
index 44148bf..2f403aa 100644
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IProviderHints.java
+++ b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/security/storage/provider/IProviderHints.java
@@ -31,6 +31,8 @@
  * </p><p>
  * This interface is not intended to be implemented or extended by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
  */
 public interface IProviderHints {