You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ja...@apache.org on 2015/01/21 16:44:12 UTC

[2/3] sqoop git commit: SQOOP-1926: Sqoop2: Add annotations for visibilty and compatibility guarantees

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MSubmission.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MSubmission.java b/common/src/main/java/org/apache/sqoop/model/MSubmission.java
index ff50c99..58d92c7 100644
--- a/common/src/main/java/org/apache/sqoop/model/MSubmission.java
+++ b/common/src/main/java/org/apache/sqoop/model/MSubmission.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.model;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.Schema;
 import org.apache.sqoop.submission.SubmissionStatus;
 import org.apache.sqoop.submission.counter.Counters;
@@ -29,6 +31,8 @@ import java.util.Date;
  * Please note that not all properties are persisted in repository at the
  * moment.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class MSubmission extends MAccountableEntity {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MToConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MToConfig.java b/common/src/main/java/org/apache/sqoop/model/MToConfig.java
index 1d0c91f..eff533f 100644
--- a/common/src/main/java/org/apache/sqoop/model/MToConfig.java
+++ b/common/src/main/java/org/apache/sqoop/model/MToConfig.java
@@ -17,14 +17,18 @@
  */
 package org.apache.sqoop.model;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.util.List;
 
 /**
  * Config describing all required information to build the TO part of the job
  * NOTE: It extends a config list since {@link MToConfig} could consist of a related config groups
  *       In future this could be simplified to hold a single list of all configs for the TO object
-
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class MToConfig extends MConfigList {
   public MToConfig(List<MConfig> configs) {
     super(configs, MConfigType.JOB);

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java b/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java
index c0d678a..dd19088 100644
--- a/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java
+++ b/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.model;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Message;
 import org.apache.sqoop.validation.Status;
 
@@ -26,6 +28,8 @@ import java.util.List;
 /**
  * Element that can have associated validation messages (0..N).
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class MValidatedElement extends MNamedElement {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ModelError.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/ModelError.java b/common/src/main/java/org/apache/sqoop/model/ModelError.java
index a991781..dcb137a 100644
--- a/common/src/main/java/org/apache/sqoop/model/ModelError.java
+++ b/common/src/main/java/org/apache/sqoop/model/ModelError.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.model;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
 /**
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum ModelError implements ErrorCode {
 
   MODEL_001("Attempt to pass two different set of MConfigs for single job type."),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/SubmissionError.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/SubmissionError.java b/common/src/main/java/org/apache/sqoop/model/SubmissionError.java
index 698877d..560d943 100644
--- a/common/src/main/java/org/apache/sqoop/model/SubmissionError.java
+++ b/common/src/main/java/org/apache/sqoop/model/SubmissionError.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.model;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  *Represents the job submission error
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class SubmissionError {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Validator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/Validator.java b/common/src/main/java/org/apache/sqoop/model/Validator.java
index 6368a9d..d3e8e7c 100644
--- a/common/src/main/java/org/apache/sqoop/model/Validator.java
+++ b/common/src/main/java/org/apache/sqoop/model/Validator.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.model;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.validators.AbstractValidator;
 
 import java.lang.annotation.Retention;
@@ -31,6 +33,8 @@ import java.lang.annotation.RetentionPolicy;
  * To specify string parameter call:
  * @Validator(value = ClassName.class, strArg = "Hello World!")
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Validator {
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/ByteArraySchema.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/ByteArraySchema.java b/common/src/main/java/org/apache/sqoop/schema/ByteArraySchema.java
index 804ebf0..949484d 100644
--- a/common/src/main/java/org/apache/sqoop/schema/ByteArraySchema.java
+++ b/common/src/main/java/org/apache/sqoop/schema/ByteArraySchema.java
@@ -17,12 +17,16 @@
  */
 package org.apache.sqoop.schema;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.type.Binary;
 
 /***
  * Schema holding a single field of Binary data Used to support connectors to
  * schemaless / unstructured systems Such as HDFS or Kafka
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class ByteArraySchema extends Schema {
 
   private static final String BYTE_ARRAY_SCHEMA_NAME = "ByteArraySchema";

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/NullSchema.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/NullSchema.java b/common/src/main/java/org/apache/sqoop/schema/NullSchema.java
index 4a9ae11..184f006 100644
--- a/common/src/main/java/org/apache/sqoop/schema/NullSchema.java
+++ b/common/src/main/java/org/apache/sqoop/schema/NullSchema.java
@@ -17,6 +17,11 @@
  */
 package org.apache.sqoop.schema;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class NullSchema extends Schema {
 
   private static final String NULL_SCHEMA_NAME = "NullSchema";

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/Schema.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/Schema.java b/common/src/main/java/org/apache/sqoop/schema/Schema.java
index bc14bcc..1520300 100644
--- a/common/src/main/java/org/apache/sqoop/schema/Schema.java
+++ b/common/src/main/java/org/apache/sqoop/schema/Schema.java
@@ -18,6 +18,8 @@
 package org.apache.sqoop.schema;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.type.Column;
 
@@ -33,6 +35,8 @@ import java.util.Set;
  * Schema represents the data fields that are transferred between {@link #From}
  * and {@link #To}
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Schema {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/SchemaError.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/SchemaError.java b/common/src/main/java/org/apache/sqoop/schema/SchemaError.java
index 6b7fb48..b0094a2 100644
--- a/common/src/main/java/org/apache/sqoop/schema/SchemaError.java
+++ b/common/src/main/java/org/apache/sqoop/schema/SchemaError.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.schema;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
 /**
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum SchemaError implements ErrorCode {
 
   SCHEMA_0000("Unknown error"),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/SchemaMatchOption.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/SchemaMatchOption.java b/common/src/main/java/org/apache/sqoop/schema/SchemaMatchOption.java
index e3ab026..312c68c 100644
--- a/common/src/main/java/org/apache/sqoop/schema/SchemaMatchOption.java
+++ b/common/src/main/java/org/apache/sqoop/schema/SchemaMatchOption.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.schema;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * The order of the matching options here indicates an order of preference
  * if it is possible to use both NAME and LOCATION matching options, we will prefer NAME
@@ -31,6 +34,8 @@ package org.apache.sqoop.schema;
  *
  * USER_DEFINED - not implemented yet.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public enum SchemaMatchOption {
     NAME,
     LOCATION,

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexListType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexListType.java b/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexListType.java
index f594f4b..b0bb048 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexListType.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexListType.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Complex types that can have nested data as a map or list structure
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class AbstractComplexListType extends AbstractComplexType {
 
   // represents the type of the list elements

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexType.java b/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexType.java
index 7c4200a..c8130a7 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexType.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexType.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Complex types that can have nested data as a map or list structure
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class AbstractComplexType extends Column {
 
   public AbstractComplexType(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/AbstractDateTime.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/AbstractDateTime.java b/common/src/main/java/org/apache/sqoop/schema/type/AbstractDateTime.java
index 413eb37..83204fa 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/AbstractDateTime.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/AbstractDateTime.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Any time or date related data type.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class AbstractDateTime extends Column {
 
   protected AbstractDateTime(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/AbstractNumber.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/AbstractNumber.java b/common/src/main/java/org/apache/sqoop/schema/type/AbstractNumber.java
index 3fccf5a..2378bc3 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/AbstractNumber.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/AbstractNumber.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Any type related to number.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class AbstractNumber extends AbstractPrimitiveType {
 
   protected AbstractNumber(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/AbstractPrimitiveType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/AbstractPrimitiveType.java b/common/src/main/java/org/apache/sqoop/schema/type/AbstractPrimitiveType.java
index 24acdf1..8bbcc35 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/AbstractPrimitiveType.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/AbstractPrimitiveType.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Primitive type for column
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class AbstractPrimitiveType extends Column {
 
   public AbstractPrimitiveType(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/AbstractString.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/AbstractString.java b/common/src/main/java/org/apache/sqoop/schema/type/AbstractString.java
index bc1c80b..128d786 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/AbstractString.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/AbstractString.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Any type that is encoding character (or byte) array.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class AbstractString extends AbstractPrimitiveType {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Array.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Array.java b/common/src/main/java/org/apache/sqoop/schema/type/Array.java
index d34fba8..5877e78 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Array.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Array.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Array contains multiple values of the same type.
  *
  * JDBC Types: array
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Array extends AbstractComplexListType {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Binary.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Binary.java b/common/src/main/java/org/apache/sqoop/schema/type/Binary.java
index b9622ac..90e2388 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Binary.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Binary.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Binary type can contain any binary value (images, text, ...).
  *
  * JDBC Types: blob, binary, varbinary
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Binary extends AbstractString {
 
   public Binary(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Bit.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Bit.java b/common/src/main/java/org/apache/sqoop/schema/type/Bit.java
index d5d5b67..d114664 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Bit.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Bit.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * True/False value.
  *
  * JDBC Types: bit, boolean
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Bit extends Column {
 
   public Bit(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Column.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Column.java b/common/src/main/java/org/apache/sqoop/schema/type/Column.java
index 2d35c3a..25f5253 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Column.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Column.java
@@ -18,12 +18,16 @@
 package org.apache.sqoop.schema.type;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.SchemaError;
 
 /**
  * Base class for all the supported types in the Sqoop {@link #Schema}
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public abstract class Column {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/ColumnType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/ColumnType.java b/common/src/main/java/org/apache/sqoop/schema/type/ColumnType.java
index d04015e..9e415bf 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/ColumnType.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/ColumnType.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * All {@link #Column} types supported by Sqoop.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public enum ColumnType {
   ARRAY,
   BINARY,

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Date.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Date.java b/common/src/main/java/org/apache/sqoop/schema/type/Date.java
index 2bb72bb..6099a30 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Date.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Date.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Date (year, month, day).
  *
  * JDBC Types: date
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Date extends AbstractDateTime {
 
   public Date(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/DateTime.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/DateTime.java b/common/src/main/java/org/apache/sqoop/schema/type/DateTime.java
index 5e237a6..c132922 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/DateTime.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/DateTime.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Date and time information together.
  *
  * JDBC Types: datetime, timestamp
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class DateTime extends AbstractDateTime {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Decimal.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Decimal.java b/common/src/main/java/org/apache/sqoop/schema/type/Decimal.java
index e669700..b7572cd 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Decimal.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Decimal.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Fixed point number with configurable precision and scale.
  *
  * JDBC Types: numeric, decimal
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Decimal extends AbstractNumber {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Enum.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Enum.java b/common/src/main/java/org/apache/sqoop/schema/type/Enum.java
index 85a015b..240d51e 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Enum.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Enum.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.util.Set;
 import java.util.HashSet;
 
@@ -25,7 +28,8 @@ import java.util.HashSet;
  *
  * JDBC Types: enum
  */
-
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Enum extends Column {
 
   // The options set contains the possible values for the Enum

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/FixedPoint.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/FixedPoint.java b/common/src/main/java/org/apache/sqoop/schema/type/FixedPoint.java
index 836e4ad..84a76ae 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/FixedPoint.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/FixedPoint.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Basic non-floating number.
  *
  * JDBC Types: int, long, bigint, smallint
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class FixedPoint extends AbstractNumber {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/FloatingPoint.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/FloatingPoint.java b/common/src/main/java/org/apache/sqoop/schema/type/FloatingPoint.java
index 7dcc753..4fa0c30 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/FloatingPoint.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/FloatingPoint.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Floating point represented as IEEE norm.
  *
  * JDBC Types: double, float, real
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class FloatingPoint extends AbstractNumber {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Map.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Map.java b/common/src/main/java/org/apache/sqoop/schema/type/Map.java
index 244506c..b7cc6e5 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Map.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Map.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Associative array.
  *
  * JDBC Types: map
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Map extends AbstractComplexType {
 
   // They key can be either a string or number

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Set.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Set.java b/common/src/main/java/org/apache/sqoop/schema/type/Set.java
index 4e28cad..21451e8 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Set.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Set.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Set contains unique values in a collection of a given type
  *
  * JDBC Types: set
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Set extends AbstractComplexListType {
 
   public Set(String name, Column listType) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Text.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Text.java b/common/src/main/java/org/apache/sqoop/schema/type/Text.java
index 9dde1de..96cf100 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Text.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Text.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * String.
  *
  * JDBC Types: char, varchar, nchar, clob
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Text extends AbstractString {
 
   public Text(String name) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Time.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Time.java b/common/src/main/java/org/apache/sqoop/schema/type/Time.java
index e9adce9..0a63ec3 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Time.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Time.java
@@ -17,11 +17,16 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Time (hours, minutes, seconds).
  *
  * JDBC Types: time
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Time extends AbstractDateTime {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/schema/type/Unknown.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/schema/type/Unknown.java b/common/src/main/java/org/apache/sqoop/schema/type/Unknown.java
index 90fb0f0..79dfdc5 100644
--- a/common/src/main/java/org/apache/sqoop/schema/type/Unknown.java
+++ b/common/src/main/java/org/apache/sqoop/schema/type/Unknown.java
@@ -17,10 +17,15 @@
  */
 package org.apache.sqoop.schema.type;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Unknown column type (internally encoded as binary)
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Unknown extends Binary {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/submission/SubmissionStatus.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/submission/SubmissionStatus.java b/common/src/main/java/org/apache/sqoop/submission/SubmissionStatus.java
index e2da8f5..04f5a24 100644
--- a/common/src/main/java/org/apache/sqoop/submission/SubmissionStatus.java
+++ b/common/src/main/java/org/apache/sqoop/submission/SubmissionStatus.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.submission;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * List of states where the submission might be.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public enum SubmissionStatus {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/submission/counter/Counter.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/submission/counter/Counter.java b/common/src/main/java/org/apache/sqoop/submission/counter/Counter.java
index 6b9cfc0..44deda3 100644
--- a/common/src/main/java/org/apache/sqoop/submission/counter/Counter.java
+++ b/common/src/main/java/org/apache/sqoop/submission/counter/Counter.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.submission.counter;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  *
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class Counter {
   private final String name;
   private long value;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/submission/counter/CounterGroup.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/submission/counter/CounterGroup.java b/common/src/main/java/org/apache/sqoop/submission/counter/CounterGroup.java
index 62a64c4..3e4183f 100644
--- a/common/src/main/java/org/apache/sqoop/submission/counter/CounterGroup.java
+++ b/common/src/main/java/org/apache/sqoop/submission/counter/CounterGroup.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.submission.counter;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -24,6 +27,8 @@ import java.util.Map;
 /**
  *
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class CounterGroup implements Iterable<Counter> {
 
   private final String name;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/submission/counter/Counters.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/submission/counter/Counters.java b/common/src/main/java/org/apache/sqoop/submission/counter/Counters.java
index 9298419..b50f660 100644
--- a/common/src/main/java/org/apache/sqoop/submission/counter/Counters.java
+++ b/common/src/main/java/org/apache/sqoop/submission/counter/Counters.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.submission.counter;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -24,6 +27,8 @@ import java.util.Map;
 /**
  *
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class Counters implements Iterable<CounterGroup> {
   Map<String, CounterGroup> groups;
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/submission/counter/SqoopCounters.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/submission/counter/SqoopCounters.java b/common/src/main/java/org/apache/sqoop/submission/counter/SqoopCounters.java
index dd9dd68..005c8eb 100644
--- a/common/src/main/java/org/apache/sqoop/submission/counter/SqoopCounters.java
+++ b/common/src/main/java/org/apache/sqoop/submission/counter/SqoopCounters.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.submission.counter;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  *
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public enum SqoopCounters {
   ROWS_READ,
   ROWS_WRITTEN

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/utils/ClassUtils.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/utils/ClassUtils.java b/common/src/main/java/org/apache/sqoop/utils/ClassUtils.java
index d6a8254..2c8d230 100644
--- a/common/src/main/java/org/apache/sqoop/utils/ClassUtils.java
+++ b/common/src/main/java/org/apache/sqoop/utils/ClassUtils.java
@@ -22,8 +22,12 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.log4j.Logger;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public final class ClassUtils {
 
   private static final Logger LOG = Logger.getLogger(ClassUtils.class);

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/utils/MapResourceBundle.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/utils/MapResourceBundle.java b/common/src/main/java/org/apache/sqoop/utils/MapResourceBundle.java
index 8dbeb70..1ea97e3 100644
--- a/common/src/main/java/org/apache/sqoop/utils/MapResourceBundle.java
+++ b/common/src/main/java/org/apache/sqoop/utils/MapResourceBundle.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.utils;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Map;
@@ -25,6 +28,8 @@ import java.util.ResourceBundle;
 /**
  * Wrapper class to hold the resource bundle key-value pairs in a collections map object
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class MapResourceBundle extends ResourceBundle {
 
   private Map<String, Object> bundle;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/utils/UrlSafeUtils.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/utils/UrlSafeUtils.java b/common/src/main/java/org/apache/sqoop/utils/UrlSafeUtils.java
index f448c94..369037a 100644
--- a/common/src/main/java/org/apache/sqoop/utils/UrlSafeUtils.java
+++ b/common/src/main/java/org/apache/sqoop/utils/UrlSafeUtils.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.utils;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
@@ -24,6 +27,8 @@ import java.net.URLEncoder;
 /**
  * Miscellaneous utility methods that help in URL-safe communication over HTTP.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public final class UrlSafeUtils {
 
   public static final String ENCODING_UTF8 = "UTF-8";

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/ConfigValidationError.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/ConfigValidationError.java b/common/src/main/java/org/apache/sqoop/validation/ConfigValidationError.java
index 3453648..77f86d6 100644
--- a/common/src/main/java/org/apache/sqoop/validation/ConfigValidationError.java
+++ b/common/src/main/java/org/apache/sqoop/validation/ConfigValidationError.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.validation;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
 /**
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum ConfigValidationError implements ErrorCode {
 
   VALIDATION_0000("Unknown error"),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/ConfigValidationResult.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/ConfigValidationResult.java b/common/src/main/java/org/apache/sqoop/validation/ConfigValidationResult.java
index 4c4d123..6d846e7 100644
--- a/common/src/main/java/org/apache/sqoop/validation/ConfigValidationResult.java
+++ b/common/src/main/java/org/apache/sqoop/validation/ConfigValidationResult.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.validation;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.validators.AbstractValidator;
 
 import java.util.HashMap;
@@ -26,6 +28,8 @@ import java.util.Map;
 /**
  * Result of validation execution.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class ConfigValidationResult {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/ConfigValidationRunner.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/ConfigValidationRunner.java b/common/src/main/java/org/apache/sqoop/validation/ConfigValidationRunner.java
index 8c66b3d..26c8a7f 100644
--- a/common/src/main/java/org/apache/sqoop/validation/ConfigValidationRunner.java
+++ b/common/src/main/java/org/apache/sqoop/validation/ConfigValidationRunner.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.validation;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.model.ConfigurationClass;
 import org.apache.sqoop.model.Config;
@@ -44,6 +46,8 @@ import java.util.Map;
  * unless all configs will pass validators.
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class ConfigValidationRunner {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/Message.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/Message.java b/common/src/main/java/org/apache/sqoop/validation/Message.java
index 3361b6f..673dbac 100644
--- a/common/src/main/java/org/apache/sqoop/validation/Message.java
+++ b/common/src/main/java/org/apache/sqoop/validation/Message.java
@@ -17,12 +17,17 @@
  */
 package org.apache.sqoop.validation;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Validation message.
  *
  * Validation message have always two parts - severity and textual information about what
  * is wrong. It can be associated with Input, Config or ConfigurationGroup class.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Message {
   private Status status;
   private String message;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/Status.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/Status.java b/common/src/main/java/org/apache/sqoop/validation/Status.java
index 1b5ad88..7cca4d9 100644
--- a/common/src/main/java/org/apache/sqoop/validation/Status.java
+++ b/common/src/main/java/org/apache/sqoop/validation/Status.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.validation;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Severity of validation message.
  *
@@ -34,6 +37,8 @@ package org.apache.sqoop.validation;
  * Error represents unacceptable element content. For example in case of JDBC
  * URL path, error would be empty element or element containing invalid URL.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum Status {
   /**
    * There are no issues, no warnings. Everything is correct.

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/AbstractValidator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/AbstractValidator.java b/common/src/main/java/org/apache/sqoop/validation/validators/AbstractValidator.java
index 9dbb44c..ef6ad8e 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/AbstractValidator.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/AbstractValidator.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Message;
 import org.apache.sqoop.validation.Status;
 
@@ -28,6 +30,8 @@ import java.util.List;
  *
  * Can be used to validate inputs, forms and configuration classes.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 abstract public class AbstractValidator<T> {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/CSVURIValidator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/CSVURIValidator.java b/common/src/main/java/org/apache/sqoop/validation/validators/CSVURIValidator.java
index a82a238..1bef4e7 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/CSVURIValidator.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/CSVURIValidator.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 /**
  * Validate a string takes on the form: host:port,host:port,...
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class CSVURIValidator extends AbstractValidator<String> {
 
   // validate that given string is a comma-separated list of host:port

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/ClassAvailable.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/ClassAvailable.java b/common/src/main/java/org/apache/sqoop/validation/validators/ClassAvailable.java
index ed7434f..52706b2 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/ClassAvailable.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/ClassAvailable.java
@@ -17,12 +17,16 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Message;
 import org.apache.sqoop.validation.Status;
 
 /**
  * Ensure that given String Input is a class that is available to this JVM.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class ClassAvailable extends AbstractValidator<String> {
   @Override
   public void validate(String klass) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/Contains.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/Contains.java b/common/src/main/java/org/apache/sqoop/validation/validators/Contains.java
index 98118dc..21c230c 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/Contains.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/Contains.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 /**
  * String validator to verify presence of a sub string (provided as a String argument)
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class Contains extends AbstractValidator<String> {
   @Override
   public void validate(String str) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java b/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
index 2a69d5c..ad298ed 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
@@ -18,6 +18,8 @@
 package org.apache.sqoop.validation.validators;
 
 import com.google.common.base.Strings;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 import java.util.regex.Pattern;
@@ -25,6 +27,8 @@ import java.util.regex.Pattern;
 /**
  * Ensure that given string represents a Kite dataset uri.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class DatasetURIValidator extends AbstractValidator<String> {
 
   private static final Pattern DATASET_URI_PATTERN = Pattern

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/HostAndPortValidator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/HostAndPortValidator.java b/common/src/main/java/org/apache/sqoop/validation/validators/HostAndPortValidator.java
index 613aee4..f4b9c7c 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/HostAndPortValidator.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/HostAndPortValidator.java
@@ -18,6 +18,8 @@
 package org.apache.sqoop.validation.validators;
 
 import com.google.common.base.Strings;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 import java.net.URI;
@@ -26,6 +28,8 @@ import java.net.URISyntaxException;
 /**
  * Ensure that given string represents a hostname or hostname:port.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class HostAndPortValidator extends AbstractValidator<String> {
 
   @Override

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/NotEmpty.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/NotEmpty.java b/common/src/main/java/org/apache/sqoop/validation/validators/NotEmpty.java
index b189299..881616b 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/NotEmpty.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/NotEmpty.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 /**
@@ -24,6 +26,8 @@ import org.apache.sqoop.validation.Status;
  *
  * Will also ensure that the string is not null.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class NotEmpty extends AbstractValidator<String> {
   @Override
   public void validate(String instance) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/NotNull.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/NotNull.java b/common/src/main/java/org/apache/sqoop/validation/validators/NotNull.java
index 1235d0e..96d6d86 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/NotNull.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/NotNull.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 /**
  * Ensure that given object is never null.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class NotNull<T> extends AbstractValidator<T> {
   @Override
   public void validate(T instance) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/NullOrContains.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/NullOrContains.java b/common/src/main/java/org/apache/sqoop/validation/validators/NullOrContains.java
index f502006..8e63560 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/NullOrContains.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/NullOrContains.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 /**
  * String validator to verify presence of a sub string (provided as a String argument)
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class NullOrContains extends AbstractValidator<String> {
   @Override
   public void validate(String str) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/validation/validators/StartsWith.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/StartsWith.java b/common/src/main/java/org/apache/sqoop/validation/validators/StartsWith.java
index c9a2a0f..37a189d 100644
--- a/common/src/main/java/org/apache/sqoop/validation/validators/StartsWith.java
+++ b/common/src/main/java/org/apache/sqoop/validation/validators/StartsWith.java
@@ -17,11 +17,15 @@
  */
 package org.apache.sqoop.validation.validators;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.validation.Status;
 
 /**
  * String validator to verify if Input starts with given string (String argument).
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class StartsWith extends AbstractValidator<String> {
   @Override
   public void validate(String str) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/pom.xml
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/pom.xml b/connector/connector-sdk/pom.xml
index ff79ec1..c888aa0 100644
--- a/connector/connector-sdk/pom.xml
+++ b/connector/connector-sdk/pom.xml
@@ -45,16 +45,14 @@ limitations under the License.
       <artifactId>testng</artifactId>
       <scope>test</scope>
     </dependency>
-
     <dependency>
       <groupId>org.apache.sqoop</groupId>
       <artifactId>sqoop-common</artifactId>
     </dependency>
-     <dependency>
+    <dependency>
       <groupId>org.apache.avro</groupId>
       <artifactId>avro</artifactId>
     </dependency>
-
   </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableError.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableError.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableError.java
index ee11846..6236870 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableError.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableError.java
@@ -17,8 +17,12 @@
  */
 package org.apache.sqoop.configurable;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum ConfigurableError implements ErrorCode {
 
   /** An unknown error has occurred. */

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableUpgradeUtil.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableUpgradeUtil.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableUpgradeUtil.java
index 715a61c..a76ceb3 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableUpgradeUtil.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableUpgradeUtil.java
@@ -21,11 +21,15 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.log4j.Logger;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.model.MConfig;
 import org.apache.sqoop.model.MInput;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class ConfigurableUpgradeUtil {
 
   private static final Logger LOG = Logger.getLogger(ConfigurableUpgradeUtil.class);

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/AvroDataTypeUtil.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/AvroDataTypeUtil.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/AvroDataTypeUtil.java
index a71385b..759bd9f 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/AvroDataTypeUtil.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/AvroDataTypeUtil.java
@@ -19,6 +19,8 @@ package org.apache.sqoop.connector.common;
 
 import org.apache.avro.Schema;
 import org.apache.avro.generic.GenericRecord;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.type.Binary;
 import org.apache.sqoop.schema.type.Bit;
 import org.apache.sqoop.schema.type.Column;
@@ -33,6 +35,8 @@ import java.util.List;
  * The helper class provides methods to convert Sqoop data types to Avro
  * supported data types.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class AvroDataTypeUtil {
 
   public static org.apache.sqoop.schema.Schema createSqoopSchema(

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/EmptyConfiguration.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/EmptyConfiguration.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/EmptyConfiguration.java
index 60b9e93..c99ee95 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/EmptyConfiguration.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/EmptyConfiguration.java
@@ -17,12 +17,16 @@
  */
 package org.apache.sqoop.connector.common;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.model.ConfigurationClass;
 
 /**
  * Marker empty link configuration class with empty config
  *
 **/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 @ConfigurationClass
 public class EmptyConfiguration {
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java
index 0625fce..393aba5 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java
@@ -17,9 +17,14 @@
  */
 package org.apache.sqoop.connector.common;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * Various supported file formats to write
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public enum FileFormat {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java
index acdda6d..e3068f0 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.connector.common;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.LinkedList;
@@ -26,6 +29,8 @@ import java.util.regex.Pattern;
 /**
  * The helper class provides methods for loading jars.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class JarUtil {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopAvroUtils.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopAvroUtils.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopAvroUtils.java
index c19c7f4..d62a8a4 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopAvroUtils.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopAvroUtils.java
@@ -18,6 +18,8 @@
 package org.apache.sqoop.connector.common;
 
 import org.apache.avro.Schema;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.connector.idf.IntermediateDataFormatError;
 import org.apache.sqoop.schema.type.AbstractComplexListType;
@@ -30,6 +32,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class SqoopAvroUtils {
 
   public static final String COLUMN_TYPE = "columnType";

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopIDFUtils.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopIDFUtils.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopIDFUtils.java
index 800630f..8630369 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopIDFUtils.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopIDFUtils.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.connector.common;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.connector.idf.CSVIntermediateDataFormatError;
 import org.apache.sqoop.connector.idf.IntermediateDataFormatError;
@@ -52,7 +54,8 @@ import java.util.regex.Matcher;
  * +Format+API
  *
  */
-
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class SqoopIDFUtils {
 
   public static final String NULL_VALUE = "NULL";

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormat.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormat.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormat.java
index 4d68ea0..3350599 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormat.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormat.java
@@ -33,6 +33,8 @@ import org.apache.avro.io.Decoder;
 import org.apache.avro.io.DecoderFactory;
 import org.apache.avro.io.EncoderFactory;
 import org.apache.avro.util.Utf8;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.type.Column;
 import org.apache.sqoop.utils.ClassUtils;
@@ -54,6 +56,8 @@ import java.util.Set;
 /**
  * IDF representing the intermediate format in Avro object
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class AVROIntermediateDataFormat extends IntermediateDataFormat<GenericRecord> {
 
   private Schema avroSchema;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormatError.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormatError.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormatError.java
index 3dcbf4a..fd1b7d3 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormatError.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormatError.java
@@ -19,8 +19,12 @@
 
 package org.apache.sqoop.connector.idf;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum AVROIntermediateDataFormatError implements ErrorCode {
   /** An unknown error has occurred. */
   AVRO_INTERMEDIATE_DATA_FORMAT_0000("An unknown error has occurred."),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java
index 4870fae..b716e79 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java
@@ -20,6 +20,8 @@ package org.apache.sqoop.connector.idf;
 
 import static org.apache.sqoop.connector.common.SqoopIDFUtils.*;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.log4j.Logger;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.Schema;
@@ -41,6 +43,8 @@ import java.util.Set;
  * {@link #Schema} and its {@link #Column} types.
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class CSVIntermediateDataFormat extends IntermediateDataFormat<String> {
 
   public static final Logger LOG = Logger.getLogger(CSVIntermediateDataFormat.class);

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormatError.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormatError.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormatError.java
index 9aae251..6828bb9 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormatError.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormatError.java
@@ -18,8 +18,12 @@
  */
 package org.apache.sqoop.connector.idf;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum CSVIntermediateDataFormatError implements ErrorCode {
   /** An unknown error has occurred. */
   CSV_INTERMEDIATE_DATA_FORMAT_0000("An unknown error has occurred."),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormat.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormat.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormat.java
index 6f945c2..8bcf8c3 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormat.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormat.java
@@ -18,6 +18,8 @@
  */
 package org.apache.sqoop.connector.idf;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.Schema;
 import org.apache.sqoop.utils.ClassUtils;
@@ -49,6 +51,8 @@ import java.util.Set;
  * @param <T> - Each data format may have a native representation of the
  *            data, represented by the parameter.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 @SuppressWarnings("rawtypes")
 public abstract class IntermediateDataFormat<T> implements Comparable {
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormatError.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormatError.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormatError.java
index f4e1fb7..f7c9abb 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormatError.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormatError.java
@@ -18,8 +18,12 @@
  */
 package org.apache.sqoop.connector.idf;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum IntermediateDataFormatError implements ErrorCode {
   /** An unknown error has occurred. */
   INTERMEDIATE_DATA_FORMAT_0000("An unknown error has occurred."),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormat.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormat.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormat.java
index c8df6e0..4c67c1a 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormat.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormat.java
@@ -21,6 +21,8 @@ package org.apache.sqoop.connector.idf;
 import static org.apache.sqoop.connector.common.SqoopIDFUtils.*;
 
 import org.apache.commons.codec.binary.Base64;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.Schema;
 import org.apache.sqoop.schema.type.Column;
@@ -39,6 +41,8 @@ import java.util.Set;
 /**
  * IDF representing the intermediate format in JSON
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public class JSONIntermediateDataFormat extends IntermediateDataFormat<JSONObject> {
 
   // need this default constructor for reflection magic used in execution engine

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormatError.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormatError.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormatError.java
index 72d9d87..0c29a8f 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormatError.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormatError.java
@@ -19,8 +19,12 @@
 
 package org.apache.sqoop.connector.idf;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum JSONIntermediateDataFormatError implements ErrorCode {
   /** An unknown error has occurred. */
   JSON_INTERMEDIATE_DATA_FORMAT_0000("An unknown error has occurred."),

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
index d92723e..10772d9 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.connector.matcher;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.Schema;
 import org.apache.sqoop.schema.type.Column;
 
@@ -27,6 +29,8 @@ import org.apache.sqoop.schema.type.Column;
  * their values will be set to null. If TO schema has extra non-null fields, we
  * will throw an exception.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class LocationMatcher extends Matcher {
 
   public LocationMatcher(Schema from, Schema to) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
index 36ac5a5..899f734 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.connector.matcher;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.log4j.Logger;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.schema.ByteArraySchema;
@@ -24,6 +26,8 @@ import org.apache.sqoop.schema.Schema;
 import org.apache.sqoop.schema.SchemaError;
 import org.apache.sqoop.schema.type.Column;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public abstract class Matcher {
 
   private static final Logger LOG = Logger.getLogger(Matcher.class);

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherError.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherError.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherError.java
index 577b091..18693c2 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherError.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherError.java
@@ -18,8 +18,12 @@
  */
 package org.apache.sqoop.connector.matcher;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.ErrorCode;
 
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public enum MatcherError implements ErrorCode {
   MATCHER_0000("To few Schemas provided."),
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherFactory.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherFactory.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherFactory.java
index ae89e6c..df7b005 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherFactory.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherFactory.java
@@ -17,8 +17,12 @@
  */
 package org.apache.sqoop.connector.matcher;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.Schema;
 
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class MatcherFactory {
   public static Matcher getMatcher(Schema fromSchema, Schema toSchema) {
     if (toSchema.isEmpty() || fromSchema.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
index 7cbc39f..365cb87 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
@@ -17,6 +17,8 @@
  */
 package org.apache.sqoop.connector.matcher;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.Schema;
 import org.apache.sqoop.schema.type.Column;
 
@@ -28,6 +30,8 @@ import java.util.HashMap;
  * "nullable", their values will be set to null. If TO schema has extra non-null
  * fields, we will throw an exception.
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class NameMatcher extends Matcher {
 
   private HashMap<String, Integer> fromColNameIndexMap;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/ConnectorConfigurableUpgrader.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/ConnectorConfigurableUpgrader.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/ConnectorConfigurableUpgrader.java
index b5e0c0d..55f8edb 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/ConnectorConfigurableUpgrader.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/ConnectorConfigurableUpgrader.java
@@ -18,6 +18,8 @@
  */
 package org.apache.sqoop.connector.spi;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.configurable.ConfigurableError;
 import org.apache.sqoop.model.MFromConfig;
@@ -32,6 +34,8 @@ import org.apache.sqoop.model.MToConfig;
  * versions
  *
  */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
 public abstract class ConnectorConfigurableUpgrader {
 
   /**
@@ -63,11 +67,11 @@ public abstract class ConnectorConfigurableUpgrader {
    * @param upgradeTarget - the instance that will be filled in with the
    *                      upgraded config
    */
-
   public void upgradeFromJobConfig(MFromConfig original, MFromConfig upgradeTarget) {
     // see above for the reasoning behind the exception
     throw new SqoopException(ConfigurableError.CONFIGURABLE_0002);
   }
+
   /**
    * Upgrade the original TO job config for the given config type and fill into the upgradeTarget. Note
    * that any data already in {@code upgradeTarget} maybe overwritten.

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/SqoopConnector.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/SqoopConnector.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/SqoopConnector.java
index ff6392e..ff8bb22 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/SqoopConnector.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/SqoopConnector.java
@@ -22,6 +22,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.ResourceBundle;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.common.Direction;
 import org.apache.sqoop.connector.idf.CSVIntermediateDataFormat;
 import org.apache.sqoop.connector.idf.IntermediateDataFormat;
@@ -31,6 +33,8 @@ import org.apache.sqoop.job.etl.To;
 /**
  * Service provider interface for Sqoop Connectors.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
 public abstract class SqoopConnector {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/Constants.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/Constants.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/Constants.java
index 90935cf..65ad98b 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/Constants.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/Constants.java
@@ -17,6 +17,11 @@
  */
 package org.apache.sqoop.job;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public class Constants {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Destroyer.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Destroyer.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Destroyer.java
index 8486154..b4ab6d7 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Destroyer.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Destroyer.java
@@ -17,10 +17,15 @@
  */
 package org.apache.sqoop.job.etl;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * This allows connector to define work to complete execution, for example,
  * resource cleaning.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
 public abstract class Destroyer<LinkConfiguration, JobConfiguration> {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Extractor.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Extractor.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Extractor.java
index 85e91ef..db600dc 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Extractor.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Extractor.java
@@ -17,10 +17,15 @@
  */
 package org.apache.sqoop.job.etl;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * This allows connector to extract data from a source system
  * based on each partition.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
 public abstract class Extractor<LinkConfiguration, FromJobConfiguration, SqoopPartition> {
 
   /**

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/From.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/From.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/From.java
index 3dd8fb9..e9d2abe 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/From.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/From.java
@@ -17,6 +17,9 @@
  */
 package org.apache.sqoop.job.etl;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
 /**
  * This specifies classes that perform connector-defined steps
  * within import execution:
@@ -26,6 +29,8 @@ package org.apache.sqoop.job.etl;
  * -> (Sqoop-defined steps)
  * -> Destroyer
  */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
 public class From extends Transferable {
 
   private Class<? extends Partitioner> partitioner;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Initializer.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Initializer.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Initializer.java
index 7dd156e..fddd162 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Initializer.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Initializer.java
@@ -20,6 +20,8 @@ package org.apache.sqoop.job.etl;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
 import org.apache.sqoop.schema.NullSchema;
 import org.apache.sqoop.schema.Schema;
 
@@ -27,6 +29,8 @@ import org.apache.sqoop.schema.Schema;
  * This allows connector to define initialization work for execution,
  * for example, context configuration.
  */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
 public abstract class Initializer<LinkConfiguration, JobConfiguration> {
 
   /**