SENTRY-2436: Add annotations for classes that are used in binding as public (Xinran Tinney, reviewed by Sergio Pena)
diff --git a/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/ActiveRoleSet.java b/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/ActiveRoleSet.java
index c24a6cd..7a64d83 100644
--- a/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/ActiveRoleSet.java
+++ b/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/ActiveRoleSet.java
@@ -20,12 +20,14 @@
 import java.util.Set;
 
 import com.google.common.collect.ImmutableSet;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 
 /**
  * Some authorization schemes allow users to select a particular
  * set of roles they want active at any give time. For example,
  * SQL systems often all ALL, NONE, or a subset of roles.
  */
+@Public
 public class ActiveRoleSet {
   public static final ActiveRoleSet ALL = new ActiveRoleSet(true);
   private final boolean allRoles;
diff --git a/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/Subject.java b/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/Subject.java
index 88457c0..bcd1fa2 100644
--- a/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/Subject.java
+++ b/sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/Subject.java
@@ -16,6 +16,9 @@
  */
 package org.apache.sentry.core.common;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
+@Public
 public class Subject {
 
   private final String name;
diff --git a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Column.java b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Column.java
index e36b09a..7bfa8c6 100644
--- a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Column.java
+++ b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Column.java
@@ -15,7 +15,9 @@
  * limitations under the License.
  */
 package org.apache.sentry.core.model.db;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 
+@Public
 public class Column implements DBModelAuthorizable {
 
   /**
diff --git a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAction.java b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAction.java
index c5842d9..6f5118b 100644
--- a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAction.java
+++ b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAction.java
@@ -17,10 +17,12 @@
 package org.apache.sentry.core.model.db;
 
 import org.apache.sentry.core.common.Action;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 
 /**
  * Represents actions in the DB model.
  */
+@Public
 public enum DBModelAction implements Action {
 
   // SENTRY-1292
diff --git a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAuthorizable.java b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAuthorizable.java
index 4ce01b2..121dbb2 100644
--- a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAuthorizable.java
+++ b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/DBModelAuthorizable.java
@@ -16,8 +16,10 @@
  */
 package org.apache.sentry.core.model.db;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.sentry.core.common.Authorizable;
 
+@Public
 public interface DBModelAuthorizable extends Authorizable {
 
   public enum AuthorizableType {
diff --git a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Database.java b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Database.java
index e8dc140..15e2ffe 100644
--- a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Database.java
+++ b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Database.java
@@ -15,7 +15,9 @@
  * limitations under the License.
  */
 package org.apache.sentry.core.model.db;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 
+@Public
 public class Database implements DBModelAuthorizable {
 
   /**
diff --git a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Server.java b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Server.java
index 41693c2..b7feb00 100644
--- a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Server.java
+++ b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Server.java
@@ -16,6 +16,9 @@
  */
 package org.apache.sentry.core.model.db;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
+@Public
 public class Server implements DBModelAuthorizable {
 
   /**
diff --git a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Table.java b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Table.java
index 5a98158..77735ba 100644
--- a/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Table.java
+++ b/sentry-core/sentry-core-model-db/src/main/java/org/apache/sentry/core/model/db/Table.java
@@ -16,6 +16,9 @@
  */
 package org.apache.sentry.core.model.db;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
+@Public
 public class Table implements TableOrView {
 
   /**
diff --git a/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/AuthorizationProvider.java b/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/AuthorizationProvider.java
index aecfe5b..91485f3 100644
--- a/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/AuthorizationProvider.java
+++ b/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/AuthorizationProvider.java
@@ -21,6 +21,7 @@
 
 import javax.annotation.concurrent.ThreadSafe;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.sentry.core.common.Action;
 import org.apache.sentry.core.common.ActiveRoleSet;
 import org.apache.sentry.core.common.Authorizable;
@@ -33,6 +34,7 @@
  * Implementations of AuthorizationProvider must be threadsafe.
  */
 @ThreadSafe
+@Public
 public interface AuthorizationProvider {
 
   String SENTRY_PROVIDER = "sentry.provider";
diff --git a/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/ProviderBackend.java b/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/ProviderBackend.java
index 761fb52..b244dba 100644
--- a/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/ProviderBackend.java
+++ b/sentry-provider/sentry-provider-common/src/main/java/org/apache/sentry/provider/common/ProviderBackend.java
@@ -20,6 +20,7 @@
 
 import javax.annotation.concurrent.ThreadSafe;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.sentry.core.common.ActiveRoleSet;
 import org.apache.sentry.core.common.Authorizable;
 import org.apache.sentry.core.common.exception.SentryConfigurationException;
@@ -32,6 +33,7 @@
  * been called.
  */
 @ThreadSafe
+@Public
 public interface ProviderBackend {
 
   /**