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:11 UTC
[1/3] sqoop git commit: SQOOP-1926: Sqoop2: Add annotations for
visibilty and compatibility guarantees
Repository: sqoop
Updated Branches:
refs/heads/sqoop2 e41bc6e31 -> 89f737b2a
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Loader.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Loader.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Loader.java
index e47b244..a085eca 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Loader.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Loader.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* This allows connector to load data into a target system.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
public abstract class Loader<LinkConfiguration, ToJobConfiguration> {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partition.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partition.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partition.java
index db07844..c4664a6 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partition.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partition.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -24,6 +27,8 @@ import java.io.IOException;
/**
* A part of the input data partitioned by the Partitioner.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
public abstract class Partition {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partitioner.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partitioner.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partitioner.java
index 3636130..067c509 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partitioner.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partitioner.java
@@ -17,12 +17,17 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.util.List;
/**
* This allows connector to define how input data from the FROM source can be partitioned.
* The number of data partitions also determines the degree of parallelism.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
public abstract class Partitioner<LinkConfiguration, FromJobConfiguration> {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/To.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/To.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/To.java
index 64ba225..bbb6e41 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/To.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/To.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 export execution:
@@ -25,6 +28,8 @@ package org.apache.sqoop.job.etl;
* -> Loader
* -> Destroyer
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
public class To extends Transferable {
private Class<? extends Loader> loader;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Transferable.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Transferable.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Transferable.java
index dfe1d5e..6410894 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Transferable.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Transferable.java
@@ -17,11 +17,16 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* This entity encapsulates the workflow for data transfer via the
* {@link SqoopConnector}.It basically acts as an adapter between the data-source
* imported from or exported to.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
public abstract class Transferable {
private Class<? extends Initializer> initializer;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3297c00..66451e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -253,7 +253,6 @@ limitations under the License.
<artifactId>hadoop-auth</artifactId>
<version>${hadoop.2.version}</version>
</dependency>
-
</dependencies>
</dependencyManagement>
</profile>
[2/3] sqoop git commit: SQOOP-1926: Sqoop2: Add annotations for
visibilty and compatibility guarantees
Posted by ja...@apache.org.
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> {
/**
[3/3] sqoop git commit: SQOOP-1926: Sqoop2: Add annotations for
visibilty and compatibility guarantees
Posted by ja...@apache.org.
SQOOP-1926: Sqoop2: Add annotations for visibilty and compatibility guarantees
(Abraham Elmahrek via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/89f737b2
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/89f737b2
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/89f737b2
Branch: refs/heads/sqoop2
Commit: 89f737b2ac4b3be31016e4fa5b17c88f1e29ed5a
Parents: e41bc6e
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Wed Jan 21 07:43:16 2015 -0800
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Wed Jan 21 07:44:04 2015 -0800
----------------------------------------------------------------------
.../org/apache/sqoop/client/SqoopClient.java | 4 ++
.../sqoop/classification/InterfaceAudience.java | 73 ++++++++++++++++++++
.../classification/InterfaceStability.java | 61 ++++++++++++++++
.../java/org/apache/sqoop/common/Direction.java | 5 ++
.../org/apache/sqoop/common/DirectionError.java | 5 ++
.../java/org/apache/sqoop/common/ErrorCode.java | 5 ++
.../apache/sqoop/common/ImmutableContext.java | 5 ++
.../org/apache/sqoop/common/MapContext.java | 5 ++
.../org/apache/sqoop/common/MutableContext.java | 5 ++
.../apache/sqoop/common/MutableMapContext.java | 5 ++
.../org/apache/sqoop/common/PrefixContext.java | 4 ++
.../org/apache/sqoop/common/SqoopException.java | 5 ++
.../sqoop/common/SqoopProtocolConstants.java | 5 ++
.../apache/sqoop/common/SqoopResponseCode.java | 5 ++
.../sqoop/common/SupportedDirections.java | 5 ++
.../apache/sqoop/common/VersionAnnotation.java | 5 ++
.../org/apache/sqoop/common/VersionInfo.java | 5 ++
.../org/apache/sqoop/etl/io/DataReader.java | 5 ++
.../org/apache/sqoop/etl/io/DataWriter.java | 5 ++
.../apache/sqoop/job/etl/DestroyerContext.java | 4 ++
.../apache/sqoop/job/etl/ExtractorContext.java | 4 ++
.../sqoop/job/etl/InitializerContext.java | 4 ++
.../org/apache/sqoop/job/etl/LoaderContext.java | 4 ++
.../sqoop/job/etl/PartitionerContext.java | 4 ++
.../sqoop/job/etl/TransferableContext.java | 4 ++
.../org/apache/sqoop/json/ConfigurableBean.java | 5 ++
.../org/apache/sqoop/json/ConnectorBean.java | 4 ++
.../org/apache/sqoop/json/ConnectorsBean.java | 4 ++
.../java/org/apache/sqoop/json/DriverBean.java | 4 ++
.../java/org/apache/sqoop/json/JSONUtils.java | 4 ++
.../java/org/apache/sqoop/json/JobBean.java | 4 ++
.../java/org/apache/sqoop/json/JobsBean.java | 4 ++
.../java/org/apache/sqoop/json/JsonBean.java | 4 ++
.../java/org/apache/sqoop/json/LinkBean.java | 4 ++
.../java/org/apache/sqoop/json/LinksBean.java | 4 ++
.../java/org/apache/sqoop/json/SchemaBean.java | 4 ++
.../org/apache/sqoop/json/SubmissionBean.java | 4 ++
.../org/apache/sqoop/json/SubmissionsBean.java | 4 ++
.../org/apache/sqoop/json/ThrowableBean.java | 4 ++
.../apache/sqoop/json/ValidationResultBean.java | 4 ++
.../java/org/apache/sqoop/json/VersionBean.java | 4 ++
.../json/util/ConfigBundleSerialization.java | 4 ++
.../sqoop/json/util/ConfigInputConstants.java | 5 ++
.../json/util/ConfigInputSerialization.java | 4 ++
.../sqoop/json/util/SchemaSerialization.java | 4 ++
.../sqoop/json/util/SerializationError.java | 4 ++
.../java/org/apache/sqoop/model/Config.java | 5 ++
.../org/apache/sqoop/model/ConfigClass.java | 5 ++
.../org/apache/sqoop/model/ConfigUtils.java | 4 ++
.../org/apache/sqoop/model/Configurable.java | 5 ++
.../apache/sqoop/model/ConfigurationClass.java | 5 ++
.../main/java/org/apache/sqoop/model/Input.java | 5 ++
.../apache/sqoop/model/MAccountableEntity.java | 5 ++
.../org/apache/sqoop/model/MBooleanInput.java | 5 ++
.../java/org/apache/sqoop/model/MClonable.java | 5 ++
.../java/org/apache/sqoop/model/MConfig.java | 4 ++
.../org/apache/sqoop/model/MConfigList.java | 4 ++
.../org/apache/sqoop/model/MConfigType.java | 5 ++
.../apache/sqoop/model/MConfigurableType.java | 5 ++
.../java/org/apache/sqoop/model/MConnector.java | 4 ++
.../java/org/apache/sqoop/model/MDriver.java | 5 ++
.../org/apache/sqoop/model/MDriverConfig.java | 6 +-
.../java/org/apache/sqoop/model/MEnumInput.java | 4 ++
.../org/apache/sqoop/model/MFromConfig.java | 6 +-
.../java/org/apache/sqoop/model/MInput.java | 5 ++
.../java/org/apache/sqoop/model/MInputType.java | 5 ++
.../org/apache/sqoop/model/MIntegerInput.java | 5 ++
.../main/java/org/apache/sqoop/model/MJob.java | 4 ++
.../main/java/org/apache/sqoop/model/MLink.java | 5 ++
.../org/apache/sqoop/model/MLinkConfig.java | 5 ++
.../java/org/apache/sqoop/model/MMapInput.java | 4 ++
.../org/apache/sqoop/model/MNamedElement.java | 5 ++
.../apache/sqoop/model/MPersistableEntity.java | 5 ++
.../org/apache/sqoop/model/MStringInput.java | 4 ++
.../org/apache/sqoop/model/MSubmission.java | 4 ++
.../java/org/apache/sqoop/model/MToConfig.java | 6 +-
.../apache/sqoop/model/MValidatedElement.java | 4 ++
.../java/org/apache/sqoop/model/ModelError.java | 4 ++
.../org/apache/sqoop/model/SubmissionError.java | 5 ++
.../java/org/apache/sqoop/model/Validator.java | 4 ++
.../apache/sqoop/schema/ByteArraySchema.java | 4 ++
.../org/apache/sqoop/schema/NullSchema.java | 5 ++
.../java/org/apache/sqoop/schema/Schema.java | 4 ++
.../org/apache/sqoop/schema/SchemaError.java | 4 ++
.../apache/sqoop/schema/SchemaMatchOption.java | 5 ++
.../schema/type/AbstractComplexListType.java | 5 ++
.../sqoop/schema/type/AbstractComplexType.java | 5 ++
.../sqoop/schema/type/AbstractDateTime.java | 5 ++
.../sqoop/schema/type/AbstractNumber.java | 5 ++
.../schema/type/AbstractPrimitiveType.java | 5 ++
.../sqoop/schema/type/AbstractString.java | 5 ++
.../org/apache/sqoop/schema/type/Array.java | 5 ++
.../org/apache/sqoop/schema/type/Binary.java | 5 ++
.../java/org/apache/sqoop/schema/type/Bit.java | 5 ++
.../org/apache/sqoop/schema/type/Column.java | 4 ++
.../apache/sqoop/schema/type/ColumnType.java | 5 ++
.../java/org/apache/sqoop/schema/type/Date.java | 5 ++
.../org/apache/sqoop/schema/type/DateTime.java | 5 ++
.../org/apache/sqoop/schema/type/Decimal.java | 5 ++
.../java/org/apache/sqoop/schema/type/Enum.java | 6 +-
.../apache/sqoop/schema/type/FixedPoint.java | 5 ++
.../apache/sqoop/schema/type/FloatingPoint.java | 5 ++
.../java/org/apache/sqoop/schema/type/Map.java | 5 ++
.../java/org/apache/sqoop/schema/type/Set.java | 5 ++
.../java/org/apache/sqoop/schema/type/Text.java | 5 ++
.../java/org/apache/sqoop/schema/type/Time.java | 5 ++
.../org/apache/sqoop/schema/type/Unknown.java | 5 ++
.../sqoop/submission/SubmissionStatus.java | 5 ++
.../sqoop/submission/counter/Counter.java | 5 ++
.../sqoop/submission/counter/CounterGroup.java | 5 ++
.../sqoop/submission/counter/Counters.java | 5 ++
.../sqoop/submission/counter/SqoopCounters.java | 5 ++
.../java/org/apache/sqoop/utils/ClassUtils.java | 4 ++
.../apache/sqoop/utils/MapResourceBundle.java | 5 ++
.../org/apache/sqoop/utils/UrlSafeUtils.java | 5 ++
.../sqoop/validation/ConfigValidationError.java | 4 ++
.../validation/ConfigValidationResult.java | 4 ++
.../validation/ConfigValidationRunner.java | 4 ++
.../org/apache/sqoop/validation/Message.java | 5 ++
.../org/apache/sqoop/validation/Status.java | 5 ++
.../validators/AbstractValidator.java | 4 ++
.../validation/validators/CSVURIValidator.java | 4 ++
.../validation/validators/ClassAvailable.java | 4 ++
.../sqoop/validation/validators/Contains.java | 4 ++
.../validators/DatasetURIValidator.java | 4 ++
.../validators/HostAndPortValidator.java | 4 ++
.../sqoop/validation/validators/NotEmpty.java | 4 ++
.../sqoop/validation/validators/NotNull.java | 4 ++
.../validation/validators/NullOrContains.java | 4 ++
.../sqoop/validation/validators/StartsWith.java | 4 ++
connector/connector-sdk/pom.xml | 4 +-
.../sqoop/configurable/ConfigurableError.java | 4 ++
.../configurable/ConfigurableUpgradeUtil.java | 4 ++
.../connector/common/AvroDataTypeUtil.java | 4 ++
.../connector/common/EmptyConfiguration.java | 4 ++
.../sqoop/connector/common/FileFormat.java | 5 ++
.../apache/sqoop/connector/common/JarUtil.java | 5 ++
.../sqoop/connector/common/SqoopAvroUtils.java | 4 ++
.../sqoop/connector/common/SqoopIDFUtils.java | 5 +-
.../idf/AVROIntermediateDataFormat.java | 4 ++
.../idf/AVROIntermediateDataFormatError.java | 4 ++
.../idf/CSVIntermediateDataFormat.java | 4 ++
.../idf/CSVIntermediateDataFormatError.java | 4 ++
.../connector/idf/IntermediateDataFormat.java | 4 ++
.../idf/IntermediateDataFormatError.java | 4 ++
.../idf/JSONIntermediateDataFormat.java | 4 ++
.../idf/JSONIntermediateDataFormatError.java | 4 ++
.../connector/matcher/LocationMatcher.java | 4 ++
.../apache/sqoop/connector/matcher/Matcher.java | 4 ++
.../sqoop/connector/matcher/MatcherError.java | 4 ++
.../sqoop/connector/matcher/MatcherFactory.java | 4 ++
.../sqoop/connector/matcher/NameMatcher.java | 4 ++
.../spi/ConnectorConfigurableUpgrader.java | 6 +-
.../sqoop/connector/spi/SqoopConnector.java | 4 ++
.../java/org/apache/sqoop/job/Constants.java | 5 ++
.../org/apache/sqoop/job/etl/Destroyer.java | 5 ++
.../org/apache/sqoop/job/etl/Extractor.java | 5 ++
.../java/org/apache/sqoop/job/etl/From.java | 5 ++
.../org/apache/sqoop/job/etl/Initializer.java | 4 ++
.../java/org/apache/sqoop/job/etl/Loader.java | 5 ++
.../org/apache/sqoop/job/etl/Partition.java | 5 ++
.../org/apache/sqoop/job/etl/Partitioner.java | 5 ++
.../main/java/org/apache/sqoop/job/etl/To.java | 5 ++
.../org/apache/sqoop/job/etl/Transferable.java | 5 ++
pom.xml | 1 -
165 files changed, 862 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/client/src/main/java/org/apache/sqoop/client/SqoopClient.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/sqoop/client/SqoopClient.java b/client/src/main/java/org/apache/sqoop/client/SqoopClient.java
index e1f009c..6efa016 100644
--- a/client/src/main/java/org/apache/sqoop/client/SqoopClient.java
+++ b/client/src/main/java/org/apache/sqoop/client/SqoopClient.java
@@ -23,6 +23,8 @@ import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.client.request.SqoopResourceRequests;
import org.apache.sqoop.common.Direction;
import org.apache.sqoop.common.SqoopException;
@@ -49,6 +51,8 @@ import org.apache.sqoop.validation.Status;
* (Resources, Connector structures). Volatile structures (Links, Jobs)
* are not cached.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class SqoopClient {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java b/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java
new file mode 100644
index 0000000..3cfb5f4
--- /dev/null
+++ b/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sqoop.classification;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Annotation to inform users of a package, class or method's intended audience.
+ * Currently the audience can be {@link Public}, {@link LimitedPrivate} or
+ * {@link Private}. <br>
+ * All public classes must have InterfaceAudience annotation. <br>
+ * <ul>
+ * <li>Public classes that are not marked with this annotation must be
+ * considered by default as {@link Private}.</li>
+ *
+ * <li>External applications must only use classes that are marked
+ * {@link Public}. Avoid using non public classes as these classes
+ * could be removed or change in incompatible ways.</li>
+ *
+ * <li>Sqoop project must only use classes that are marked
+ * {@link LimitedPrivate} or {@link Public}</li>
+ *
+ * <li> Methods may have a different annotation that it is more restrictive
+ * compared to the audience classification of the class. Example: A class
+ * might be {@link Public}, but a method may be {@link LimitedPrivate}
+ * </li></ul>
+ */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
+public class InterfaceAudience {
+ /**
+ * Intended for use by any project or application.
+ */
+ @Documented
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Public {};
+
+ /**
+ * Intended only for the project(s) specified in the annotation.
+ * For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
+ */
+ @Documented
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface LimitedPrivate {
+ String[] value();
+ };
+
+ /**
+ * Intended for use only within Sqoop itself.
+ */
+ @Documented
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Private {};
+
+ private InterfaceAudience() {} // Audience can't exist on its own
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java b/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java
new file mode 100644
index 0000000..29fba89
--- /dev/null
+++ b/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sqoop.classification;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Annotation to inform users of how much to rely on a particular package,
+ * class or method not changing over time. Currently the stability can be
+ * {@link Stable}, {@link Evolving} or {@link Unstable}. <br>
+ *
+ * <ul><li>All classes that are annotated with {@link Public} or
+ * {@link LimitedPrivate} must have InterfaceStability annotation. </li>
+ * <li>Classes that are {@link Private} are to be considered unstable unless
+ * a different InterfaceStability annotation states otherwise.</li>
+ * <li>Incompatible changes must not be made to classes marked as stable.</li>
+ * </ul>
+ */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
+public class InterfaceStability {
+ /**
+ * Can evolve while retaining compatibility for minor release boundaries.;
+ * can break compatibility only at major release (ie. at m.0).
+ */
+ @Documented
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Stable {};
+
+ /**
+ * Evolving, but can break compatibility at minor release (i.e. m.x)
+ */
+ @Documented
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Evolving {};
+
+ /**
+ * No guarantee is provided as to reliability or stability across any
+ * level of release granularity.
+ */
+ @Documented
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Unstable {};
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/Direction.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/Direction.java b/common/src/main/java/org/apache/sqoop/common/Direction.java
index 1576b96..44c53bc 100644
--- a/common/src/main/java/org/apache/sqoop/common/Direction.java
+++ b/common/src/main/java/org/apache/sqoop/common/Direction.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Connectors will have configurations for FROM and TO.
* If the connector is being used to extract data FROM,
@@ -24,6 +27,8 @@ package org.apache.sqoop.common;
* is being used to load data TO, then the connector type
* will be TO.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
public enum Direction {
FROM,
TO
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/DirectionError.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/DirectionError.java b/common/src/main/java/org/apache/sqoop/common/DirectionError.java
index 288c954..425d4cb 100644
--- a/common/src/main/java/org/apache/sqoop/common/DirectionError.java
+++ b/common/src/main/java/org/apache/sqoop/common/DirectionError.java
@@ -17,6 +17,11 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public enum DirectionError implements ErrorCode {
/** An unknown error has occurred. */
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/ErrorCode.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/ErrorCode.java b/common/src/main/java/org/apache/sqoop/common/ErrorCode.java
index 0458a57..d8f9d4b 100644
--- a/common/src/main/java/org/apache/sqoop/common/ErrorCode.java
+++ b/common/src/main/java/org/apache/sqoop/common/ErrorCode.java
@@ -17,12 +17,17 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Defines an error-code contract. Sqoop exceptions use the error code to
* communicate error information where possible. Each error code is associated
* with default message that identifies the high level information related to
* the underlying error condition.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public interface ErrorCode {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java b/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java
index 69f3a03..7eed27f 100644
--- a/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java
+++ b/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java
@@ -17,11 +17,16 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Immutable context interface for key value pairs.
*
* Useful for configuration objects that are not allowed to change.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public interface ImmutableContext {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/MapContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/MapContext.java b/common/src/main/java/org/apache/sqoop/common/MapContext.java
index d1f9420..d23ff1a 100644
--- a/common/src/main/java/org/apache/sqoop/common/MapContext.java
+++ b/common/src/main/java/org/apache/sqoop/common/MapContext.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
@@ -25,6 +28,8 @@ import java.util.regex.Pattern;
/**
* ImmutableContext implementation based on (Hash)Map.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MapContext implements ImmutableContext {
private final Map<String, String> options;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/MutableContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/MutableContext.java b/common/src/main/java/org/apache/sqoop/common/MutableContext.java
index ddf8af0..272343f 100644
--- a/common/src/main/java/org/apache/sqoop/common/MutableContext.java
+++ b/common/src/main/java/org/apache/sqoop/common/MutableContext.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Mutable addition to immutable context.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public interface MutableContext extends ImmutableContext {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java b/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java
index bb03ec0..61751bf 100644
--- a/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java
+++ b/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.common;
+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;
/**
* Mutable variant of context class for "special" usage
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MutableMapContext extends MapContext implements Iterable<Map.Entry<String, String>>, MutableContext {
public MutableMapContext(Map<String, String> options) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/PrefixContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/PrefixContext.java b/common/src/main/java/org/apache/sqoop/common/PrefixContext.java
index 6434e6d..8d33861 100644
--- a/common/src/main/java/org/apache/sqoop/common/PrefixContext.java
+++ b/common/src/main/java/org/apache/sqoop/common/PrefixContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.hadoop.conf.Configuration;
import org.apache.sqoop.common.ImmutableContext;
@@ -25,6 +27,8 @@ import org.apache.sqoop.common.ImmutableContext;
* object. Each context property is prefixed with special prefix and loaded
* directly.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class PrefixContext implements ImmutableContext {
Configuration configuration;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SqoopException.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopException.java b/common/src/main/java/org/apache/sqoop/common/SqoopException.java
index 6c5dc2a..06b39e6 100644
--- a/common/src/main/java/org/apache/sqoop/common/SqoopException.java
+++ b/common/src/main/java/org/apache/sqoop/common/SqoopException.java
@@ -18,12 +18,17 @@
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Base exception for Sqoop driver. This exception requires the specification
* of an error code for reference purposes. Where necessary the appropriate
* constructor can be used to pass in additional message beyond what is
* specified by the error code and/or the causal exception.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
@SuppressWarnings("serial")
public class SqoopException extends RuntimeException {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java b/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
index 8f4f709..72b5d87 100644
--- a/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
+++ b/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
@@ -17,6 +17,11 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public final class SqoopProtocolConstants {
public static final String HEADER_SQOOP_ERROR_CODE = "sqoop-error-code";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java b/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java
index 93a43f5..da50078 100644
--- a/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java
+++ b/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java
@@ -17,6 +17,11 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public enum SqoopResponseCode {
SQOOP_1000("1000", "OK"),
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java b/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java
index c527117..2fae427 100644
--- a/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java
+++ b/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents which Directions are supported.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class SupportedDirections implements Comparable<SupportedDirections> {
private static final char SUPPORTED_DIRECTIONS_SEPARATOR = '/';
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java b/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java
index 728a3a7..2fcbbb2 100644
--- a/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java
+++ b/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java
@@ -17,12 +17,17 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.lang.annotation.*;
/**
* A package attribute that captures the version that was compiled.
* Copied down from hadoop. All is same except name of interface.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PACKAGE)
public @interface VersionAnnotation {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/VersionInfo.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/VersionInfo.java b/common/src/main/java/org/apache/sqoop/common/VersionInfo.java
index 1b4873b..a7f5716 100644
--- a/common/src/main/java/org/apache/sqoop/common/VersionInfo.java
+++ b/common/src/main/java/org/apache/sqoop/common/VersionInfo.java
@@ -17,6 +17,11 @@
*/
package org.apache.sqoop.common;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public final class VersionInfo {
private static Package myPackage;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java b/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java
index a555431..c6cd2b3 100644
--- a/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java
+++ b/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java
@@ -17,10 +17,15 @@
*/
package org.apache.sqoop.etl.io;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* An intermediate layer for passing data from the execution engine
* to the ETL engine.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public abstract class DataReader {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java b/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java
index 2166b09..c0fe08c 100644
--- a/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java
+++ b/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java
@@ -17,10 +17,15 @@
*/
package org.apache.sqoop.etl.io;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* An intermediate layer for passing data from the ETL framework
* to the MR framework.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public abstract class DataWriter {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java b/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java
index 7afb120..f4f6d1d 100644
--- a/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java
+++ b/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.ImmutableContext;
import org.apache.sqoop.schema.Schema;
@@ -25,6 +27,8 @@ import org.apache.sqoop.schema.Schema;
*
* This class is wrapping information if the run was successful or not.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class DestroyerContext extends TransferableContext {
private boolean success;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java b/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java
index 1e0f0ec..43fcaa2 100644
--- a/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java
+++ b/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.ImmutableContext;
import org.apache.sqoop.etl.io.DataWriter;
import org.apache.sqoop.schema.Schema;
@@ -26,6 +28,8 @@ import org.apache.sqoop.schema.Schema;
*
* This class is wrapping writer object.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class ExtractorContext extends TransferableContext {
private final DataWriter writer;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java b/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java
index 4de00a6..469132b 100644
--- a/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java
+++ b/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.MutableContext;
/**
@@ -25,6 +27,8 @@ import org.apache.sqoop.common.MutableContext;
*
* This class is returning mutable context instead of immutable.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class InitializerContext extends TransferableContext {
public InitializerContext(MutableContext context) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java b/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java
index 9d556eb..f9ea9ad 100644
--- a/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java
+++ b/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.ImmutableContext;
import org.apache.sqoop.etl.io.DataReader;
import org.apache.sqoop.schema.Schema;
@@ -26,6 +28,8 @@ import org.apache.sqoop.schema.Schema;
*
* This class is also wrapping reader object.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class LoaderContext extends TransferableContext {
private final DataReader reader;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java b/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java
index 79901fd..67fffd6 100644
--- a/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java
+++ b/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.ImmutableContext;
import org.apache.sqoop.schema.Schema;
@@ -25,6 +27,8 @@ import org.apache.sqoop.schema.Schema;
*
* This class is also wrapping number of maximal allowed partitions.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class PartitionerContext extends TransferableContext {
private long maxPartitions;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java b/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java
index e57bf45..ad18e29 100644
--- a/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java
+++ b/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java
@@ -17,11 +17,15 @@
*/
package org.apache.sqoop.job.etl;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.ImmutableContext;
/**
* Base context class for the {@link Transferable} components
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public abstract class TransferableContext {
ImmutableContext context;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java b/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java
index 49dd057..0b79666 100644
--- a/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java
@@ -17,9 +17,14 @@ package org.apache.sqoop.json;
* limitations under the License.
*/
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Marker class for the configurables supported in sqoop
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public abstract class ConfigurableBean implements JsonBean {
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java b/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java
index 6dc14d0..0322032 100644
--- a/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java
@@ -28,6 +28,8 @@ import java.util.List;
import java.util.Map;
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.model.MConfig;
import org.apache.sqoop.model.MConnector;
@@ -41,6 +43,8 @@ import org.json.simple.JSONObject;
* Json representation of the connector object
*
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class ConnectorBean extends ConfigurableBean {
// to represent the config and inputs with values
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java b/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java
index b04594e..88b71f5 100644
--- a/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java
@@ -21,6 +21,8 @@ import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MConnector;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@@ -29,6 +31,8 @@ import org.json.simple.JSONObject;
* Json representation of the connectors object
*
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class ConnectorsBean extends ConnectorBean {
// to represent the config and inputs with values
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/DriverBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/DriverBean.java b/common/src/main/java/org/apache/sqoop/json/DriverBean.java
index 593ce2f..6012917 100644
--- a/common/src/main/java/org/apache/sqoop/json/DriverBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/DriverBean.java
@@ -25,6 +25,8 @@ import static org.apache.sqoop.json.util.ConfigBundleSerialization.restoreConfig
import java.util.List;
import java.util.ResourceBundle;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MConfig;
import org.apache.sqoop.model.MDriver;
import org.apache.sqoop.model.MDriverConfig;
@@ -33,6 +35,8 @@ import org.json.simple.JSONObject;
/**
* Json representation of the driver
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class DriverBean extends ConfigurableBean {
public static final String CURRENT_DRIVER_VERSION = "1";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JSONUtils.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/JSONUtils.java b/common/src/main/java/org/apache/sqoop/json/JSONUtils.java
index e7551d2..ff8f9ea 100644
--- a/common/src/main/java/org/apache/sqoop/json/JSONUtils.java
+++ b/common/src/main/java/org/apache/sqoop/json/JSONUtils.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.SqoopException;
import org.apache.sqoop.json.util.SerializationError;
import org.json.simple.JSONObject;
@@ -28,6 +30,8 @@ import java.io.Reader;
/**
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class JSONUtils {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JobBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/JobBean.java b/common/src/main/java/org/apache/sqoop/json/JobBean.java
index 00cba56..0561ade 100644
--- a/common/src/main/java/org/apache/sqoop/json/JobBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/JobBean.java
@@ -27,6 +27,8 @@ import java.util.List;
import java.util.Map;
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.model.MConfig;
import org.apache.sqoop.model.MDriverConfig;
@@ -39,6 +41,8 @@ import org.json.simple.JSONObject;
/**
* Json representation of the job
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class JobBean implements JsonBean {
static final String FROM_LINK_ID = "from-link-id";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JobsBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/JobsBean.java b/common/src/main/java/org/apache/sqoop/json/JobsBean.java
index 3c454ea..c62ab49 100644
--- a/common/src/main/java/org/apache/sqoop/json/JobsBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/JobsBean.java
@@ -19,6 +19,8 @@ package org.apache.sqoop.json;
import java.util.List;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MJob;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@@ -26,6 +28,8 @@ import org.json.simple.JSONObject;
/**
* Json representation of the jobs
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class JobsBean extends JobBean {
private static final String JOBS = "jobs";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JsonBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/JsonBean.java b/common/src/main/java/org/apache/sqoop/json/JsonBean.java
index 7cf24ba..1dd275e 100644
--- a/common/src/main/java/org/apache/sqoop/json/JsonBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/JsonBean.java
@@ -17,8 +17,12 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.json.simple.JSONObject;
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public interface JsonBean {
// common JSON constants for the rest-api response
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/LinkBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/LinkBean.java b/common/src/main/java/org/apache/sqoop/json/LinkBean.java
index 5ee4e01..2e2406f 100644
--- a/common/src/main/java/org/apache/sqoop/json/LinkBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/LinkBean.java
@@ -27,6 +27,8 @@ import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MConfig;
import org.apache.sqoop.model.MLink;
import org.apache.sqoop.model.MLinkConfig;
@@ -38,6 +40,8 @@ import org.json.simple.JSONObject;
* server and client. Server might optionally send configs associated with the
* links to spare client of sending another HTTP requests to obtain them.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class LinkBean implements JsonBean {
static final String CONNECTOR_ID = "connector-id";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/LinksBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/LinksBean.java b/common/src/main/java/org/apache/sqoop/json/LinksBean.java
index 58cacb9..6e4a906 100644
--- a/common/src/main/java/org/apache/sqoop/json/LinksBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/LinksBean.java
@@ -19,10 +19,14 @@ package org.apache.sqoop.json;
import java.util.List;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MLink;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class LinksBean extends LinkBean {
static final String LINKS = "links";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/SchemaBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/SchemaBean.java b/common/src/main/java/org/apache/sqoop/json/SchemaBean.java
index f51fec8..9ba22e5 100644
--- a/common/src/main/java/org/apache/sqoop/json/SchemaBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/SchemaBean.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.json.util.SchemaSerialization;
import org.apache.sqoop.schema.Schema;
import org.json.simple.JSONObject;
@@ -24,6 +26,8 @@ import org.json.simple.JSONObject;
/**
*
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class SchemaBean implements JsonBean {
private Schema schema;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java b/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java
index 66db0d4..ad05057 100644
--- a/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java
@@ -26,6 +26,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MSubmission;
import org.apache.sqoop.submission.SubmissionStatus;
import org.apache.sqoop.submission.counter.Counter;
@@ -37,6 +39,8 @@ import org.json.simple.JSONObject;
/**
*
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class SubmissionBean implements JsonBean {
private static final String SUBMISSION = "submission";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java b/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java
index 74b6179..019abf1 100644
--- a/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java
@@ -19,10 +19,14 @@ package org.apache.sqoop.json;
import java.util.List;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.model.MSubmission;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class SubmissionsBean extends SubmissionBean {
private static final String SUBMISSIONS = "submissions";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java b/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java
index cd26020..7748247 100644
--- a/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.SqoopException;
import org.apache.sqoop.utils.ClassUtils;
import org.json.simple.JSONArray;
@@ -28,6 +30,8 @@ import java.util.List;
/**
* Transfer throwable instance as a throwable bean.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class ThrowableBean implements JsonBean {
public static final String MESSAGE = "message";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java b/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java
index e9b4899..4ac9533 100644
--- a/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.validation.Message;
import org.apache.sqoop.validation.Status;
import org.apache.sqoop.validation.ConfigValidationResult;
@@ -31,6 +33,8 @@ import java.util.Set;
/**
* Serialize and transfer validation results (0..N).
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class ValidationResultBean implements JsonBean {
private static final String VALIDATION_RESULT = "validation-result";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/VersionBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/VersionBean.java b/common/src/main/java/org/apache/sqoop/json/VersionBean.java
index 53d19b1..3746ca4 100644
--- a/common/src/main/java/org/apache/sqoop/json/VersionBean.java
+++ b/common/src/main/java/org/apache/sqoop/json/VersionBean.java
@@ -17,9 +17,13 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class VersionBean implements JsonBean {
public static final String BUILD_VERSION = "build-version";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java b/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java
index 6133798..d91eceb 100644
--- a/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java
+++ b/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java
@@ -17,6 +17,8 @@
*/
package org.apache.sqoop.json.util;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.utils.MapResourceBundle;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@@ -31,6 +33,8 @@ import java.util.ResourceBundle;
/**
*
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public final class ConfigBundleSerialization {
@SuppressWarnings("unchecked")
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java
index df8a870..5d261de 100644
--- a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java
+++ b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.json.util;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Constants related to the configs
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class ConfigInputConstants {
public static final String CONFIG_ID = "id";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java
index 4667f5c..8b11ed5 100644
--- a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java
+++ b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java
@@ -18,6 +18,8 @@
package org.apache.sqoop.json.util;
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.model.MBooleanInput;
import org.apache.sqoop.model.MEnumInput;
@@ -38,6 +40,8 @@ import java.util.Map;
/**
* Convenient static methods for serializing config and input objects.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public final class ConfigInputSerialization {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java b/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java
index bbd58fc..a6425fe 100644
--- a/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java
+++ b/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java
@@ -19,6 +19,8 @@ package org.apache.sqoop.json.util;
import java.util.HashSet;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.schema.NullSchema;
import org.apache.sqoop.schema.Schema;
import org.apache.sqoop.schema.type.AbstractComplexListType;
@@ -46,6 +48,8 @@ import org.json.simple.JSONObject;
/**
*
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class SchemaSerialization {
// common attributes of all column types
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java b/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java
index 3d440da..d5cdb31 100644
--- a/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java
+++ b/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java
@@ -17,8 +17,12 @@
*/
package org.apache.sqoop.json.util;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.common.ErrorCode;
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public enum SerializationError implements ErrorCode {
SERIALIZATION_001("Attempt to pass a non-map object to MAP type."),
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Config.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/Config.java b/common/src/main/java/org/apache/sqoop/model/Config.java
index b4d847d..644cffe 100644
--- a/common/src/main/java/org/apache/sqoop/model/Config.java
+++ b/common/src/main/java/org/apache/sqoop/model/Config.java
@@ -17,12 +17,17 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Denote config in Configuration class
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
@Retention(RetentionPolicy.RUNTIME)
public @interface Config {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ConfigClass.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/ConfigClass.java b/common/src/main/java/org/apache/sqoop/model/ConfigClass.java
index f925759..8602a10 100644
--- a/common/src/main/java/org/apache/sqoop/model/ConfigClass.java
+++ b/common/src/main/java/org/apache/sqoop/model/ConfigClass.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -25,6 +28,8 @@ import java.lang.annotation.Target;
/**
* Denote configuration class
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ConfigClass {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java b/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java
index 3765a6d..279f3a6 100644
--- a/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java
+++ b/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java
@@ -18,6 +18,8 @@
package org.apache.sqoop.model;
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.json.JSONUtils;
import org.apache.sqoop.utils.ClassUtils;
@@ -41,6 +43,8 @@ import java.util.Set;
*
* TODO: This class should see some overhaul into more reusable code, especially expose and re-use the methods at the end.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public class ConfigUtils {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Configurable.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/Configurable.java b/common/src/main/java/org/apache/sqoop/model/Configurable.java
index 2033fcb..ea544e5 100644
--- a/common/src/main/java/org/apache/sqoop/model/Configurable.java
+++ b/common/src/main/java/org/apache/sqoop/model/Configurable.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Marker class that identifies the Configurables in the Sqoop system
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public abstract class Configurable extends MPersistableEntity implements MClonable {
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java b/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java
index c65c478..0fface8 100644
--- a/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java
+++ b/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -27,6 +30,8 @@ import java.lang.annotation.Target;
* Each class that is used a configuration group object, the connector developer
* is expected to provide the inputs needed for this annotation
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ConfigurationClass {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Input.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/Input.java b/common/src/main/java/org/apache/sqoop/model/Input.java
index db3e0e6..b6305f2 100644
--- a/common/src/main/java/org/apache/sqoop/model/Input.java
+++ b/common/src/main/java/org/apache/sqoop/model/Input.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -26,6 +29,8 @@ import java.lang.annotation.Target;
* Field annotation. Each field that user might change in configuration object
* need to have this annotation.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Input {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java b/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java
index 094af39..a2ec587 100644
--- a/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java
+++ b/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java
@@ -17,12 +17,17 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.util.Date;
/**
* Accountable entity provides additional fields that might help with identifying
* what and when has happened.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
abstract public class MAccountableEntity extends MValidatedElement {
private final boolean DEFAULT_ENABLED = true;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java b/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java
index da380dd..c7fcf90 100644
--- a/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java
+++ b/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents a <tt>Boolean</tt> input.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MBooleanInput extends MInput<Boolean> {
public MBooleanInput(String name, boolean sensitive) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MClonable.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MClonable.java b/common/src/main/java/org/apache/sqoop/model/MClonable.java
index 6353779..2284d79 100644
--- a/common/src/main/java/org/apache/sqoop/model/MClonable.java
+++ b/common/src/main/java/org/apache/sqoop/model/MClonable.java
@@ -17,6 +17,11 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public interface MClonable {
/**
* Clone object
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MConfig.java b/common/src/main/java/org/apache/sqoop/model/MConfig.java
index b5d2afd..d128441 100644
--- a/common/src/main/java/org/apache/sqoop/model/MConfig.java
+++ b/common/src/main/java/org/apache/sqoop/model/MConfig.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.common.SqoopException;
import java.util.ArrayList;
@@ -27,6 +29,8 @@ import java.util.List;
* input gathering process to be broken down into multiple steps that can be
* then paged through by the user interface.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public final class MConfig extends MValidatedElement implements MClonable {
private final List<MInput<?>> inputs;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfigList.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MConfigList.java b/common/src/main/java/org/apache/sqoop/model/MConfigList.java
index 20309e1..add80d8 100644
--- a/common/src/main/java/org/apache/sqoop/model/MConfigList.java
+++ b/common/src/main/java/org/apache/sqoop/model/MConfigList.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.common.SqoopException;
import java.util.ArrayList;
@@ -25,6 +27,8 @@ import java.util.List;
/**
* Arbitrary list of config objects.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MConfigList implements MClonable {
private final List<MConfig> configObjects;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfigType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MConfigType.java b/common/src/main/java/org/apache/sqoop/model/MConfigType.java
index a9f7dad..fa29d5a 100644
--- a/common/src/main/java/org/apache/sqoop/model/MConfigType.java
+++ b/common/src/main/java/org/apache/sqoop/model/MConfigType.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents the various config types supported by the system.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public enum MConfigType {
/** Unknown config type */
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java b/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java
index 7ab7032..b147d7d 100644
--- a/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java
+++ b/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents the sqoop entities that can own configs
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public enum MConfigurableType {
/** Connector as a owner of config keys */
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConnector.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MConnector.java b/common/src/main/java/org/apache/sqoop/model/MConnector.java
index 1b9462e..d49f620 100644
--- a/common/src/main/java/org/apache/sqoop/model/MConnector.java
+++ b/common/src/main/java/org/apache/sqoop/model/MConnector.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.common.Direction;
import org.apache.sqoop.common.DirectionError;
import org.apache.sqoop.common.SqoopException;
@@ -27,6 +29,8 @@ import org.apache.sqoop.common.SupportedDirections;
* that identifies connector in the repository, unique human readable name,
* corresponding name and all configs to support the from and to data sources
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public final class MConnector extends Configurable {
private final String uniqueName;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MDriver.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MDriver.java b/common/src/main/java/org/apache/sqoop/model/MDriver.java
index cc47511..75eaa46 100644
--- a/common/src/main/java/org/apache/sqoop/model/MDriver.java
+++ b/common/src/main/java/org/apache/sqoop/model/MDriver.java
@@ -18,9 +18,14 @@
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Describes the configs associated with the {@link Driver} for executing sqoop jobs.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public final class MDriver extends Configurable {
public static final String DRIVER_NAME = "SqoopDriver";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java b/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java
index 3faf1d3..77d947f 100644
--- a/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java
+++ b/common/src/main/java/org/apache/sqoop/model/MDriverConfig.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 for the driver
* 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 driver
-
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MDriverConfig extends MConfigList {
public MDriverConfig(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/MEnumInput.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MEnumInput.java b/common/src/main/java/org/apache/sqoop/model/MEnumInput.java
index 28830f4..74838fc 100644
--- a/common/src/main/java/org/apache/sqoop/model/MEnumInput.java
+++ b/common/src/main/java/org/apache/sqoop/model/MEnumInput.java
@@ -18,6 +18,8 @@
package org.apache.sqoop.model;
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 java.util.Arrays;
@@ -25,6 +27,8 @@ import java.util.Arrays;
/**
*
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MEnumInput extends MInput<String> {
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MFromConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MFromConfig.java b/common/src/main/java/org/apache/sqoop/model/MFromConfig.java
index 1e9e845..7093a93 100644
--- a/common/src/main/java/org/apache/sqoop/model/MFromConfig.java
+++ b/common/src/main/java/org/apache/sqoop/model/MFromConfig.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 FROM part of the job
* NOTE: It extends a config list since {@link MFromConfig} could consist of a related config groups
* In future this could be simplified to hold a single list of all configs for the FROM object
-
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MFromConfig extends MConfigList {
public MFromConfig(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/MInput.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MInput.java b/common/src/main/java/org/apache/sqoop/model/MInput.java
index 0074267..d1c2ab6 100644
--- a/common/src/main/java/org/apache/sqoop/model/MInput.java
+++ b/common/src/main/java/org/apache/sqoop/model/MInput.java
@@ -17,12 +17,17 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents a parameter input used by the connector for creating a link
* or a job object.
* @param <T> the value type associated with this parameter
* @param boolean whether or not the field contains sensitive information
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public abstract class MInput<T> extends MValidatedElement implements MClonable {
private final boolean sensitive;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MInputType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MInputType.java b/common/src/main/java/org/apache/sqoop/model/MInputType.java
index af40054..bdc3424 100644
--- a/common/src/main/java/org/apache/sqoop/model/MInputType.java
+++ b/common/src/main/java/org/apache/sqoop/model/MInputType.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents the various input types supported by the system.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public enum MInputType {
/** Unknown input type */
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java b/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java
index a43f440..de50cd4 100644
--- a/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java
+++ b/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java
@@ -17,11 +17,16 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Integer base user input.
*
* This input is able to process empty (NULL) value.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MIntegerInput extends MInput<Integer> {
public MIntegerInput(String name, boolean sensitive) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MJob.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MJob.java b/common/src/main/java/org/apache/sqoop/model/MJob.java
index 935dd18..4b5c896 100644
--- a/common/src/main/java/org/apache/sqoop/model/MJob.java
+++ b/common/src/main/java/org/apache/sqoop/model/MJob.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.common.Direction;
import org.apache.sqoop.common.DirectionError;
import org.apache.sqoop.common.SqoopException;
@@ -25,6 +27,8 @@ import org.apache.sqoop.common.SqoopException;
* Model describing entire job object including the from/to and driver config information
* to execute the job
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MJob extends MAccountableEntity implements MClonable {
/**
* NOTE : Job object do not immediately depend on connector as there is indirect
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MLink.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MLink.java b/common/src/main/java/org/apache/sqoop/model/MLink.java
index 8e31861..062a4c5 100644
--- a/common/src/main/java/org/apache/sqoop/model/MLink.java
+++ b/common/src/main/java/org/apache/sqoop/model/MLink.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Model describing the link object and its corresponding configs
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MLink extends MAccountableEntity implements MClonable {
private long connectorId;
// NOTE: we hold this in the model for easy access to the link config object, it might as well be retrieved on the fly using the connectorId
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java b/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java
index 040dca4..9042ca5 100644
--- a/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java
+++ b/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java
@@ -17,6 +17,9 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
import java.util.List;
/**
@@ -24,6 +27,8 @@ import java.util.List;
* NOTE: It extends a config list since {@link MLink} could consist of a related config groups
* In future this could be simplified to hold a single list of all configs for the link object
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public class MLinkConfig extends MConfigList {
public MLinkConfig(List<MConfig> configs) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MMapInput.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MMapInput.java b/common/src/main/java/org/apache/sqoop/model/MMapInput.java
index 37dd265..cf781b2 100644
--- a/common/src/main/java/org/apache/sqoop/model/MMapInput.java
+++ b/common/src/main/java/org/apache/sqoop/model/MMapInput.java
@@ -21,8 +21,12 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
import org.apache.sqoop.utils.UrlSafeUtils;
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public final class MMapInput extends MInput<Map<String, String>> {
public MMapInput(String name, boolean sensitive) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MNamedElement.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MNamedElement.java b/common/src/main/java/org/apache/sqoop/model/MNamedElement.java
index ddacfcd..b18eaf1 100644
--- a/common/src/main/java/org/apache/sqoop/model/MNamedElement.java
+++ b/common/src/main/java/org/apache/sqoop/model/MNamedElement.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents an element of metadata used by the connector.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public abstract class MNamedElement extends MPersistableEntity {
private static final String LABEL_KEY_SUFFIX = ".label";
private static final String HELP_KEY_SUFFIX = ".help";
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java b/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java
index 6507aca..721daed 100644
--- a/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java
+++ b/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.model;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+
/**
* Represents a persistable metadata entity.
*/
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
public abstract class MPersistableEntity {
public static final long PERSISTANCE_ID_DEFAULT = -1L;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MStringInput.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/model/MStringInput.java b/common/src/main/java/org/apache/sqoop/model/MStringInput.java
index 289a4ee..4854838 100644
--- a/common/src/main/java/org/apache/sqoop/model/MStringInput.java
+++ b/common/src/main/java/org/apache/sqoop/model/MStringInput.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.utils.UrlSafeUtils;
/**
@@ -25,6 +27,8 @@ import org.apache.sqoop.utils.UrlSafeUtils;
* from user-view. This is helpful for creating input strings that represent
* sensitive information such as passwords.
*/
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
public final class MStringInput extends MInput<String> {
private final short maxLength;