[CARBONDATA-2186] Add InterfaceAudience.Internal to annotate internal interface
This closes #1986 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/a44a1f48 Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/a44a1f48 Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/a44a1f48 Branch: refs/heads/carbonstore-rebase5 Commit: a44a1f4861c0dbb9d97a92124d33ec976a8496b5 Parents: 619f765 Author: Jacky Li <jacky.li...@qq.com> Authored: Tue Feb 20 11:16:53 2018 +0800 Committer: Jacky Li <jacky.li...@qq.com> Committed: Wed Feb 28 22:05:23 2018 +0800 ---------------------------------------------------------------------- .../java/org/apache/carbondata/common/Maps.java | 2 +- .../org/apache/carbondata/common/Strings.java | 2 +- .../common/annotations/InterfaceAudience.java | 19 ++++++++++++++----- .../common/annotations/InterfaceStability.java | 2 +- .../loading/model/CarbonLoadModelBuilder.java | 2 +- .../processing/loading/model/LoadOption.java | 2 +- .../carbondata/sdk/file/CSVCarbonWriter.java | 4 +--- 7 files changed, 20 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/common/src/main/java/org/apache/carbondata/common/Maps.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/carbondata/common/Maps.java b/common/src/main/java/org/apache/carbondata/common/Maps.java index 14fc329..4e76192 100644 --- a/common/src/main/java/org/apache/carbondata/common/Maps.java +++ b/common/src/main/java/org/apache/carbondata/common/Maps.java @@ -21,7 +21,7 @@ import java.util.Map; import org.apache.carbondata.common.annotations.InterfaceAudience; -@InterfaceAudience.Developer +@InterfaceAudience.Internal public class Maps { /** http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/common/src/main/java/org/apache/carbondata/common/Strings.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/carbondata/common/Strings.java b/common/src/main/java/org/apache/carbondata/common/Strings.java index 08fdc3c..23c7f9f 100644 --- a/common/src/main/java/org/apache/carbondata/common/Strings.java +++ b/common/src/main/java/org/apache/carbondata/common/Strings.java @@ -21,7 +21,7 @@ import java.util.Objects; import org.apache.carbondata.common.annotations.InterfaceAudience; -@InterfaceAudience.Developer +@InterfaceAudience.Internal public class Strings { /** http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceAudience.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceAudience.java b/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceAudience.java index fa9729d..8d214ff 100644 --- a/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceAudience.java +++ b/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceAudience.java @@ -25,10 +25,10 @@ import java.lang.annotation.RetentionPolicy; * This annotation is ported and modified from Apache Hadoop project. * * Annotation to inform users of a package, class or method's intended audience. - * Currently the audience can be {@link User}, {@link Developer} + * Currently the audience can be {@link User}, {@link Developer}, {@link Internal} * * Public classes that are not marked with this annotation must be - * considered by default as {@link Developer}.</li> + * considered by default as {@link Internal}.</li> * * External applications must only use classes that are marked {@link User}. * @@ -47,12 +47,21 @@ public class InterfaceAudience { public @interface User { } /** - * Intended only for developers to extend interface for CarbonData project - * For example, new Datamap implementations. + * Intended for developers to develop extension for Apache CarbonData project + * For example, "Index DataMap" to add a new index implementation, etc */ @Documented @Retention(RetentionPolicy.RUNTIME) - public @interface Developer { } + public @interface Developer { + String[] value(); + } + + /** + * Intended only for internal usage within Apache CarbonData project. + */ + @Documented + @Retention(RetentionPolicy.RUNTIME) + public @interface Internal { } private InterfaceAudience() { } // Audience can't exist on its own } http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceStability.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceStability.java b/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceStability.java index b8e5e52..5435028 100644 --- a/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceStability.java +++ b/common/src/main/java/org/apache/carbondata/common/annotations/InterfaceStability.java @@ -36,7 +36,7 @@ import org.apache.carbondata.common.annotations.InterfaceAudience.*; * * <ul><li>All classes that are annotated with {@link User} or * {@link Developer} must have InterfaceStability annotation. </li> - * <li>Classes that are {@link Private} are to be considered unstable unless + * <li>Classes that are {@link Internal} 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> http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/processing/src/main/java/org/apache/carbondata/processing/loading/model/CarbonLoadModelBuilder.java ---------------------------------------------------------------------- diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/model/CarbonLoadModelBuilder.java b/processing/src/main/java/org/apache/carbondata/processing/loading/model/CarbonLoadModelBuilder.java index fbb93b6..99684ad 100644 --- a/processing/src/main/java/org/apache/carbondata/processing/loading/model/CarbonLoadModelBuilder.java +++ b/processing/src/main/java/org/apache/carbondata/processing/loading/model/CarbonLoadModelBuilder.java @@ -43,7 +43,7 @@ import org.apache.hadoop.conf.Configuration; /** * Builder for {@link CarbonLoadModel} */ -@InterfaceAudience.Developer +@InterfaceAudience.Internal public class CarbonLoadModelBuilder { private CarbonTable table; http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/processing/src/main/java/org/apache/carbondata/processing/loading/model/LoadOption.java ---------------------------------------------------------------------- diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/model/LoadOption.java b/processing/src/main/java/org/apache/carbondata/processing/loading/model/LoadOption.java index 8ec93a9..bd942ca 100644 --- a/processing/src/main/java/org/apache/carbondata/processing/loading/model/LoadOption.java +++ b/processing/src/main/java/org/apache/carbondata/processing/loading/model/LoadOption.java @@ -40,7 +40,7 @@ import org.apache.hadoop.conf.Configuration; /** * Provide utilities to populate loading options */ -@InterfaceAudience.Developer +@InterfaceAudience.Internal public class LoadOption { private static LogService LOG = LogServiceFactory.getLogService(LoadOption.class.getName()); http://git-wip-us.apache.org/repos/asf/carbondata/blob/a44a1f48/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CSVCarbonWriter.java ---------------------------------------------------------------------- diff --git a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CSVCarbonWriter.java b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CSVCarbonWriter.java index daea733..dc5696a 100644 --- a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CSVCarbonWriter.java +++ b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CSVCarbonWriter.java @@ -22,7 +22,6 @@ import java.util.Random; import java.util.UUID; import org.apache.carbondata.common.annotations.InterfaceAudience; -import org.apache.carbondata.common.annotations.InterfaceStability; import org.apache.carbondata.hadoop.api.CarbonTableOutputFormat; import org.apache.carbondata.processing.loading.csvinput.StringArrayWritable; import org.apache.carbondata.processing.loading.model.CarbonLoadModel; @@ -40,8 +39,7 @@ import org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl; /** * Implementation to write rows in CSV format to carbondata file. */ -@InterfaceAudience.Developer -@InterfaceStability.Unstable +@InterfaceAudience.Internal class CSVCarbonWriter extends CarbonWriter { private RecordWriter<NullWritable, StringArrayWritable> recordWriter;