[FLINK-3367] Add PublicEvolving and Internal annotations to 
flink-streaming-java and flink-streaming-scala

This closes #1606


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/c9db63b9
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/c9db63b9
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/c9db63b9

Branch: refs/heads/master
Commit: c9db63b935725368a5750e8d4dc94e6b015a1688
Parents: 53f8d77
Author: Fabian Hueske <[email protected]>
Authored: Mon Feb 8 17:56:14 2016 +0100
Committer: Fabian Hueske <[email protected]>
Committed: Sun Feb 14 22:51:30 2016 +0100

----------------------------------------------------------------------
 .../org/apache/flink/streaming/api/TimeCharacteristic.java   | 3 +++
 .../apache/flink/streaming/api/checkpoint/Checkpointed.java  | 3 +++
 .../streaming/api/checkpoint/CheckpointedAsynchronously.java | 3 +++
 .../streaming/api/collector/selector/OutputSelector.java     | 2 ++
 .../api/collector/selector/OutputSelectorWrapper.java        | 3 +++
 .../flink/streaming/api/datastream/StreamProjection.java     | 2 ++
 .../streaming/api/environment/StreamContextEnvironment.java  | 2 ++
 .../api/environment/StreamExecutionEnvironmentFactory.java   | 3 +++
 .../streaming/api/environment/StreamPlanEnvironment.java     | 2 ++
 .../streaming/api/functions/AscendingTimestampExtractor.java | 3 +++
 .../flink/streaming/api/functions/TimestampExtractor.java    | 2 ++
 .../api/functions/aggregation/AggregationFunction.java       | 2 ++
 .../api/functions/aggregation/ComparableAggregator.java      | 2 ++
 .../streaming/api/functions/aggregation/Comparator.java      | 2 ++
 .../streaming/api/functions/aggregation/SumAggregator.java   | 2 ++
 .../streaming/api/functions/aggregation/SumFunction.java     | 3 +++
 .../flink/streaming/api/functions/sink/FileSinkFunction.java | 2 ++
 .../api/functions/sink/FileSinkFunctionByMillis.java         | 2 ++
 .../streaming/api/functions/sink/PrintSinkFunction.java      | 2 ++
 .../flink/streaming/api/functions/sink/SocketClientSink.java | 4 +++-
 .../flink/streaming/api/functions/sink/WriteFormat.java      | 3 +++
 .../flink/streaming/api/functions/sink/WriteFormatAsCsv.java | 3 +++
 .../streaming/api/functions/sink/WriteFormatAsText.java      | 3 +++
 .../streaming/api/functions/sink/WriteSinkFunction.java      | 3 +++
 .../api/functions/sink/WriteSinkFunctionByMillis.java        | 3 +++
 .../streaming/api/functions/source/ConnectorSource.java      | 2 ++
 .../api/functions/source/FileMonitoringFunction.java         | 2 ++
 .../streaming/api/functions/source/FileReadFunction.java     | 2 ++
 .../streaming/api/functions/source/FileSourceFunction.java   | 2 ++
 .../streaming/api/functions/source/FromElementsFunction.java | 2 ++
 .../streaming/api/functions/source/FromIteratorFunction.java | 3 +++
 .../api/functions/source/FromSplittableIteratorFunction.java | 2 ++
 .../api/functions/source/MessageAcknowledgingSourceBase.java | 2 ++
 .../source/MultipleIdsMessageAcknowledgingSourceBase.java    | 2 ++
 .../api/functions/source/RichEventTimeSourceFunction.java    | 2 ++
 .../api/functions/source/SocketTextStreamFunction.java       | 2 ++
 .../api/functions/source/StatefulSequenceSource.java         | 2 ++
 .../api/functions/windowing/FoldApplyAllWindowFunction.java  | 2 ++
 .../api/functions/windowing/FoldApplyWindowFunction.java     | 2 ++
 .../functions/windowing/PassThroughAllWindowFunction.java    | 3 +++
 .../api/functions/windowing/PassThroughWindowFunction.java   | 3 +++
 .../functions/windowing/ReduceApplyAllWindowFunction.java    | 2 ++
 .../api/functions/windowing/ReduceApplyWindowFunction.java   | 2 ++
 .../functions/windowing/ReduceIterableAllWindowFunction.java | 2 ++
 .../functions/windowing/ReduceIterableWindowFunction.java    | 2 ++
 .../api/functions/windowing/RichWindowFunction.java          | 1 +
 .../api/functions/windowing/delta/CosineDistance.java        | 2 ++
 .../api/functions/windowing/delta/DeltaFunction.java         | 3 +++
 .../api/functions/windowing/delta/EuclideanDistance.java     | 2 ++
 .../windowing/delta/ExtractionAwareDeltaFunction.java        | 2 ++
 .../functions/windowing/delta/extractor/ArrayFromTuple.java  | 2 ++
 .../windowing/delta/extractor/ConcatenatedExtract.java       | 3 +++
 .../api/functions/windowing/delta/extractor/Extractor.java   | 3 +++
 .../functions/windowing/delta/extractor/FieldFromArray.java  | 3 +++
 .../functions/windowing/delta/extractor/FieldFromTuple.java  | 2 ++
 .../functions/windowing/delta/extractor/FieldsFromArray.java | 3 +++
 .../functions/windowing/delta/extractor/FieldsFromTuple.java | 2 ++
 .../org/apache/flink/streaming/api/graph/JSONGenerator.java  | 2 ++
 .../org/apache/flink/streaming/api/graph/StreamConfig.java   | 2 ++
 .../org/apache/flink/streaming/api/graph/StreamEdge.java     | 2 ++
 .../org/apache/flink/streaming/api/graph/StreamGraph.java    | 2 ++
 .../flink/streaming/api/graph/StreamGraphGenerator.java      | 2 ++
 .../org/apache/flink/streaming/api/graph/StreamNode.java     | 2 ++
 .../streaming/api/graph/StreamingJobGraphGenerator.java      | 2 ++
 .../streaming/api/operators/AbstractStreamOperator.java      | 2 ++
 .../streaming/api/operators/AbstractUdfStreamOperator.java   | 2 ++
 .../flink/streaming/api/operators/ChainingStrategy.java      | 3 +++
 .../streaming/api/operators/OneInputStreamOperator.java      | 2 ++
 .../org/apache/flink/streaming/api/operators/Output.java     | 2 ++
 .../streaming/api/operators/OutputTypeConfigurable.java      | 2 ++
 .../apache/flink/streaming/api/operators/StreamCounter.java  | 2 ++
 .../apache/flink/streaming/api/operators/StreamFilter.java   | 2 ++
 .../apache/flink/streaming/api/operators/StreamFlatMap.java  | 2 ++
 .../flink/streaming/api/operators/StreamGroupedFold.java     | 2 ++
 .../flink/streaming/api/operators/StreamGroupedReduce.java   | 2 ++
 .../org/apache/flink/streaming/api/operators/StreamMap.java  | 2 ++
 .../apache/flink/streaming/api/operators/StreamOperator.java | 2 ++
 .../apache/flink/streaming/api/operators/StreamProject.java  | 2 ++
 .../org/apache/flink/streaming/api/operators/StreamSink.java | 2 ++
 .../apache/flink/streaming/api/operators/StreamSource.java   | 2 ++
 .../streaming/api/operators/StreamingRuntimeContext.java     | 2 ++
 .../flink/streaming/api/operators/TimestampedCollector.java  | 2 ++
 .../streaming/api/operators/TwoInputStreamOperator.java      | 2 ++
 .../flink/streaming/api/operators/co/CoStreamFlatMap.java    | 2 ++
 .../apache/flink/streaming/api/operators/co/CoStreamMap.java | 2 ++
 .../api/transformations/CoFeedbackTransformation.java        | 2 ++
 .../api/transformations/FeedbackTransformation.java          | 2 ++
 .../api/transformations/OneInputTransformation.java          | 2 ++
 .../api/transformations/PartitionTransformation.java         | 2 ++
 .../streaming/api/transformations/SelectTransformation.java  | 2 ++
 .../streaming/api/transformations/SinkTransformation.java    | 2 ++
 .../streaming/api/transformations/SourceTransformation.java  | 2 ++
 .../streaming/api/transformations/SplitTransformation.java   | 2 ++
 .../streaming/api/transformations/StreamTransformation.java  | 2 ++
 .../api/transformations/TwoInputTransformation.java          | 2 ++
 .../streaming/api/transformations/UnionTransformation.java   | 2 ++
 .../org/apache/flink/streaming/api/watermark/Watermark.java  | 2 ++
 .../streaming/api/windowing/assigners/GlobalWindows.java     | 2 ++
 .../api/windowing/assigners/SlidingTimeWindows.java          | 2 ++
 .../api/windowing/assigners/TumblingTimeWindows.java         | 2 ++
 .../streaming/api/windowing/assigners/WindowAssigner.java    | 2 ++
 .../flink/streaming/api/windowing/evictors/CountEvictor.java | 2 ++
 .../flink/streaming/api/windowing/evictors/DeltaEvictor.java | 2 ++
 .../flink/streaming/api/windowing/evictors/Evictor.java      | 2 ++
 .../flink/streaming/api/windowing/evictors/TimeEvictor.java  | 2 ++
 .../api/windowing/triggers/ContinuousEventTimeTrigger.java   | 2 ++
 .../windowing/triggers/ContinuousProcessingTimeTrigger.java  | 4 +++-
 .../flink/streaming/api/windowing/triggers/CountTrigger.java | 2 ++
 .../flink/streaming/api/windowing/triggers/DeltaTrigger.java | 2 ++
 .../streaming/api/windowing/triggers/EventTimeTrigger.java   | 2 ++
 .../api/windowing/triggers/ProcessingTimeTrigger.java        | 2 ++
 .../streaming/api/windowing/triggers/PurgingTrigger.java     | 2 ++
 .../flink/streaming/api/windowing/triggers/Trigger.java      | 2 ++
 .../flink/streaming/api/windowing/windows/GlobalWindow.java  | 2 ++
 .../flink/streaming/api/windowing/windows/TimeWindow.java    | 2 ++
 .../apache/flink/streaming/api/windowing/windows/Window.java | 3 +++
 .../org/apache/flink/streaming/runtime/io/BarrierBuffer.java | 2 ++
 .../apache/flink/streaming/runtime/io/BarrierTracker.java    | 2 ++
 .../flink/streaming/runtime/io/BlockingQueueBroker.java      | 2 ++
 .../org/apache/flink/streaming/runtime/io/BufferSpiller.java | 2 ++
 .../flink/streaming/runtime/io/CheckpointBarrierHandler.java | 2 ++
 .../org/apache/flink/streaming/runtime/io/InputGateUtil.java | 2 ++
 .../flink/streaming/runtime/io/RecordWriterOutput.java       | 2 ++
 .../flink/streaming/runtime/io/StreamInputProcessor.java     | 2 ++
 .../flink/streaming/runtime/io/StreamRecordWriter.java       | 2 ++
 .../flink/streaming/runtime/io/StreamTwoInputProcessor.java  | 2 ++
 .../apache/flink/streaming/runtime/io/StreamingReader.java   | 2 ++
 .../runtime/operators/BucketStreamSortOperator.java          | 2 ++
 .../runtime/operators/ExtractTimestampsOperator.java         | 2 ++
 .../runtime/operators/StreamingOperatorMetrics.java          | 3 +++
 .../flink/streaming/runtime/operators/Triggerable.java       | 3 +++
 .../AbstractAlignedProcessingTimeWindowOperator.java         | 2 ++
 .../runtime/operators/windowing/AbstractKeyedTimePanes.java  | 2 ++
 .../operators/windowing/AccumulatingKeyedTimePanes.java      | 3 ++-
 .../windowing/AccumulatingProcessingTimeWindowOperator.java  | 3 ++-
 .../operators/windowing/AggregatingKeyedTimePanes.java       | 3 ++-
 .../windowing/AggregatingProcessingTimeWindowOperator.java   | 2 ++
 .../operators/windowing/EvictingNonKeyedWindowOperator.java  | 2 ++
 .../runtime/operators/windowing/EvictingWindowOperator.java  | 2 ++
 .../flink/streaming/runtime/operators/windowing/KeyMap.java  | 2 ++
 .../runtime/operators/windowing/NonKeyedWindowOperator.java  | 2 ++
 .../runtime/operators/windowing/WindowOperator.java          | 2 ++
 .../operators/windowing/buffers/EvictingWindowBuffer.java    | 4 +++-
 .../operators/windowing/buffers/HeapWindowBuffer.java        | 2 ++
 .../windowing/buffers/PreAggregatingHeapWindowBuffer.java    | 3 ++-
 .../runtime/operators/windowing/buffers/WindowBuffer.java    | 2 ++
 .../operators/windowing/buffers/WindowBufferFactory.java     | 2 ++
 .../streaming/runtime/partitioner/BroadcastPartitioner.java  | 2 ++
 .../runtime/partitioner/CustomPartitionerWrapper.java        | 2 ++
 .../streaming/runtime/partitioner/ForwardPartitioner.java    | 2 ++
 .../streaming/runtime/partitioner/GlobalPartitioner.java     | 2 ++
 .../flink/streaming/runtime/partitioner/HashPartitioner.java | 2 ++
 .../streaming/runtime/partitioner/RebalancePartitioner.java  | 2 ++
 .../streaming/runtime/partitioner/RescalePartitioner.java    | 2 ++
 .../streaming/runtime/partitioner/ShufflePartitioner.java    | 2 ++
 .../streaming/runtime/partitioner/StreamPartitioner.java     | 2 ++
 .../streamrecord/MultiplexingStreamRecordSerializer.java     | 2 ++
 .../flink/streaming/runtime/streamrecord/StreamElement.java  | 2 ++
 .../flink/streaming/runtime/streamrecord/StreamRecord.java   | 3 +++
 .../runtime/streamrecord/StreamRecordSerializer.java         | 2 ++
 .../flink/streaming/runtime/tasks/AsynchronousException.java | 3 +++
 .../runtime/tasks/ExceptionInChainedOperatorException.java   | 3 +++
 .../flink/streaming/runtime/tasks/OneInputStreamTask.java    | 2 ++
 .../apache/flink/streaming/runtime/tasks/OperatorChain.java  | 2 ++
 .../flink/streaming/runtime/tasks/SourceStreamTask.java      | 2 ++
 .../flink/streaming/runtime/tasks/StreamIterationHead.java   | 2 ++
 .../flink/streaming/runtime/tasks/StreamIterationTail.java   | 2 ++
 .../org/apache/flink/streaming/runtime/tasks/StreamTask.java | 2 ++
 .../flink/streaming/runtime/tasks/StreamTaskException.java   | 3 +++
 .../flink/streaming/runtime/tasks/StreamTaskState.java       | 2 ++
 .../flink/streaming/runtime/tasks/StreamTaskStateList.java   | 2 ++
 .../apache/flink/streaming/runtime/tasks/TimerException.java | 3 +++
 .../flink/streaming/runtime/tasks/TwoInputStreamTask.java    | 2 ++
 .../java/org/apache/flink/streaming/util/FieldAccessor.java  | 2 ++
 .../apache/flink/streaming/util/keys/KeySelectorUtil.java    | 2 ++
 .../streaming/util/serialization/SimpleStringSchema.java     | 2 ++
 .../apache/flink/streaming/api/scala/ConnectedStreams.scala  | 8 +++++---
 177 files changed, 388 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/TimeCharacteristic.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/TimeCharacteristic.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/TimeCharacteristic.java
index 270e2d6..44175e8 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/TimeCharacteristic.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/TimeCharacteristic.java
@@ -19,10 +19,13 @@
 package org.apache.flink.streaming.api;
 
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * The time characteristic defines how the system determines time for 
time-dependent
  * order and operations that depend on time (such as time windows).
  */
+@PublicEvolving
 public enum TimeCharacteristic {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/Checkpointed.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/Checkpointed.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/Checkpointed.java
index ac1cbfb..6e2850c 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/Checkpointed.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/Checkpointed.java
@@ -18,6 +18,8 @@
 
 package org.apache.flink.streaming.api.checkpoint;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.Serializable;
 
 /**
@@ -34,6 +36,7 @@ import java.io.Serializable;
  * 
  * @param <T> The type of the operator state.
  */
+@PublicEvolving
 public interface Checkpointed<T extends Serializable> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/CheckpointedAsynchronously.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/CheckpointedAsynchronously.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/CheckpointedAsynchronously.java
index ae02915..8ad5ad0 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/CheckpointedAsynchronously.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/CheckpointedAsynchronously.java
@@ -19,6 +19,8 @@
 package org.apache.flink.streaming.api.checkpoint;
 
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.Serializable;
 
 /**
@@ -35,4 +37,5 @@ import java.io.Serializable;
  * {@link #snapshotState(long, long)} method is typically a copy or shadow copy
  * of the actual state.</p>
  */
+@PublicEvolving
 public interface CheckpointedAsynchronously<T extends Serializable> extends 
Checkpointed<T> {}

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelector.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelector.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelector.java
index 9c6eede..6632da4 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelector.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelector.java
@@ -19,6 +19,7 @@ package org.apache.flink.streaming.api.collector.selector;
 
 import java.io.Serializable;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
 import org.apache.flink.streaming.api.datastream.SplitStream;
 
@@ -30,6 +31,7 @@ import org.apache.flink.streaming.api.datastream.SplitStream;
  * @param <OUT>
  *            Type parameter of the split values.
  */
+@PublicEvolving
 public interface OutputSelector<OUT> extends Serializable {
        /**
         * Method for selecting output names for the emitted objects when using 
the

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelectorWrapper.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelectorWrapper.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelectorWrapper.java
index 971e42b..24f6018 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelectorWrapper.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/collector/selector/OutputSelectorWrapper.java
@@ -19,6 +19,9 @@ package org.apache.flink.streaming.api.collector.selector;
 
 import java.io.Serializable;
 
+import org.apache.flink.annotation.PublicEvolving;
+
+@PublicEvolving
 public interface OutputSelectorWrapper<OUT> extends Serializable {
 
        void sendOutputs(OUT record);

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/StreamProjection.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/StreamProjection.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/StreamProjection.java
index 149d7a8..4f1a68b 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/StreamProjection.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/StreamProjection.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.datastream;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.java.tuple.Tuple;
 import org.apache.flink.api.java.tuple.Tuple1;
@@ -49,6 +50,7 @@ import org.apache.flink.streaming.api.operators.StreamProject;
 
 import com.google.common.base.Preconditions;
 
+@PublicEvolving
 public class StreamProjection<IN> {
 
        private DataStream<IN> dataStream;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamContextEnvironment.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamContextEnvironment.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamContextEnvironment.java
index 23fcfed..c0f3a4a 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamContextEnvironment.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamContextEnvironment.java
@@ -18,6 +18,7 @@
 package org.apache.flink.streaming.api.environment;
 
 import com.google.common.base.Preconditions;
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.JobExecutionResult;
 import org.apache.flink.client.program.ContextEnvironment;
 import org.apache.flink.client.program.DetachedEnvironment;
@@ -28,6 +29,7 @@ import org.apache.flink.streaming.api.graph.StreamGraph;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@PublicEvolving
 public class StreamContextEnvironment extends StreamExecutionEnvironment {
 
        private static final Logger LOG = 
LoggerFactory.getLogger(StreamContextEnvironment.class);

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamExecutionEnvironmentFactory.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamExecutionEnvironmentFactory.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamExecutionEnvironmentFactory.java
index 0e24bac..f10691d 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamExecutionEnvironmentFactory.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamExecutionEnvironmentFactory.java
@@ -17,9 +17,12 @@
 
 package org.apache.flink.streaming.api.environment;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * Factory class for stream execution environments.
  */
+@PublicEvolving
 public interface StreamExecutionEnvironmentFactory {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamPlanEnvironment.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamPlanEnvironment.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamPlanEnvironment.java
index a20b1e2..f7cf160 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamPlanEnvironment.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/environment/StreamPlanEnvironment.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.environment;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.JobExecutionResult;
 import org.apache.flink.api.java.ExecutionEnvironment;
 import org.apache.flink.client.program.OptimizerPlanEnvironment;
@@ -25,6 +26,7 @@ import org.apache.flink.configuration.ConfigConstants;
 import org.apache.flink.configuration.GlobalConfiguration;
 import org.apache.flink.streaming.api.graph.StreamGraph;
 
+@PublicEvolving
 public class StreamPlanEnvironment extends StreamExecutionEnvironment {
 
        private ExecutionEnvironment env;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/AscendingTimestampExtractor.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/AscendingTimestampExtractor.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/AscendingTimestampExtractor.java
index 85433f5..97f0095 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/AscendingTimestampExtractor.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/AscendingTimestampExtractor.java
@@ -17,12 +17,15 @@
  */
 package org.apache.flink.streaming.api.functions;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * Interface for user functions that extract timestamps from elements. The 
extracting timestamps
  * must be monotonically increasing.
  *
  * @param <T> The type of the elements that this function can extract 
timestamps from
  */
+@PublicEvolving
 public abstract class AscendingTimestampExtractor<T> implements 
TimestampExtractor<T> {
 
        long currentTimestamp = 0;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/TimestampExtractor.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/TimestampExtractor.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/TimestampExtractor.java
index 7fd7b63..6cc9d35 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/TimestampExtractor.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/TimestampExtractor.java
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.streaming.api.functions;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.functions.Function;
 
 /**
@@ -35,6 +36,7 @@ import org.apache.flink.api.common.functions.Function;
  *
  * @param <T> The type of the elements that this function can extract 
timestamps from
  */
+@PublicEvolving
 public interface TimestampExtractor<T> extends Function {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/AggregationFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/AggregationFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/AggregationFunction.java
index fe711a5..57c48a6 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/AggregationFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/AggregationFunction.java
@@ -17,8 +17,10 @@
 
 package org.apache.flink.streaming.api.functions.aggregation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.ReduceFunction;
 
+@Internal
 public abstract class AggregationFunction<T> implements ReduceFunction<T> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/ComparableAggregator.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/ComparableAggregator.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/ComparableAggregator.java
index e70e30a..9331285 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/ComparableAggregator.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/ComparableAggregator.java
@@ -17,10 +17,12 @@
 
 package org.apache.flink.streaming.api.functions.aggregation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.streaming.util.FieldAccessor;
 
+@Internal
 public class ComparableAggregator<T> extends AggregationFunction<T> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/Comparator.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/Comparator.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/Comparator.java
index f85a2e1..14e1764 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/Comparator.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/Comparator.java
@@ -19,8 +19,10 @@ package org.apache.flink.streaming.api.functions.aggregation;
 
 import java.io.Serializable;
 
+import org.apache.flink.annotation.Internal;
 import 
org.apache.flink.streaming.api.functions.aggregation.AggregationFunction.AggregationType;
 
+@Internal
 public abstract class Comparator implements Serializable {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumAggregator.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumAggregator.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumAggregator.java
index 8c9cf7a..cc88eee 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumAggregator.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumAggregator.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.aggregation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.common.typeutils.TypeSerializer;
@@ -24,6 +25,7 @@ import org.apache.flink.api.java.tuple.Tuple;
 import org.apache.flink.api.java.typeutils.TupleTypeInfo;
 import org.apache.flink.streaming.util.FieldAccessor;
 
+@Internal
 public class SumAggregator<T> extends AggregationFunction<T> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumFunction.java
index e5fa4c3..124b726 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/aggregation/SumFunction.java
@@ -17,8 +17,11 @@
 
 package org.apache.flink.streaming.api.functions.aggregation;
 
+import org.apache.flink.annotation.Internal;
+
 import java.io.Serializable;
 
+@Internal
 public abstract class SumFunction implements Serializable{
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunction.java
index 837f2d2..b732198 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunction.java
@@ -20,6 +20,7 @@ package org.apache.flink.streaming.api.functions.sink;
 import java.io.IOException;
 import java.util.ArrayList;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.functions.RuntimeContext;
 import org.apache.flink.api.common.io.CleanupWhenUnsuccessful;
@@ -40,6 +41,7 @@ import org.slf4j.LoggerFactory;
  * @param <IN>
  *            Input type
  */
+@PublicEvolving
 public abstract class FileSinkFunction<IN> extends RichSinkFunction<IN> 
implements
        InputTypeConfigurable {
        

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunctionByMillis.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunctionByMillis.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunctionByMillis.java
index 86bbb53..c7a0385 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunctionByMillis.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/FileSinkFunctionByMillis.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.sink;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.io.OutputFormat;
 
 /**
@@ -26,6 +27,7 @@ import org.apache.flink.api.common.io.OutputFormat;
  * @param <IN>
  *            Input type
  */
+@PublicEvolving
 public class FileSinkFunctionByMillis<IN> extends FileSinkFunction<IN> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/PrintSinkFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/PrintSinkFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/PrintSinkFunction.java
index 93a91cd..bbdd7a7 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/PrintSinkFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/PrintSinkFunction.java
@@ -19,6 +19,7 @@ package org.apache.flink.streaming.api.functions.sink;
 
 import java.io.PrintStream;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.streaming.api.operators.StreamingRuntimeContext;
 
@@ -29,6 +30,7 @@ import 
org.apache.flink.streaming.api.operators.StreamingRuntimeContext;
  * @param <IN>
  *            Input record type
  */
+@PublicEvolving
 public class PrintSinkFunction<IN> extends RichSinkFunction<IN> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/SocketClientSink.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/SocketClientSink.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/SocketClientSink.java
index df9b124..3424cda 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/SocketClientSink.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/SocketClientSink.java
@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.net.Socket;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.runtime.util.SerializableObject;
 import org.apache.flink.streaming.util.serialization.SerializationSchema;
@@ -41,6 +42,7 @@ import static 
com.google.common.base.Preconditions.checkNotNull;
  *
  * @param <IN> data to be written into the Socket.
  */
+@PublicEvolving
 public class SocketClientSink<IN> extends RichSinkFunction<IN> {
 
        private static final long serialVersionUID = 1L;
@@ -265,4 +267,4 @@ public class SocketClientSink<IN> extends 
RichSinkFunction<IN> {
                        return retries;
                }
        }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormat.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormat.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormat.java
index 019d35f..d445be0 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormat.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormat.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.sink;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 
@@ -27,6 +29,7 @@ import java.util.ArrayList;
  * @param <IN>
  *            Input tuple type
  */
+@PublicEvolving
 public abstract class WriteFormat<IN> implements Serializable {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsCsv.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsCsv.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsCsv.java
index bfae653..22f304a 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsCsv.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsCsv.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.sink;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.BufferedWriter;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -29,6 +31,7 @@ import java.util.ArrayList;
  * @param <IN>
  *            Input tuple type
  */
+@PublicEvolving
 public class WriteFormatAsCsv<IN> extends WriteFormat<IN> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsText.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsText.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsText.java
index 03fcb5c..c36bc9e 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsText.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteFormatAsText.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.sink;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.BufferedWriter;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -29,6 +31,7 @@ import java.util.ArrayList;
  * @param <IN>
  *            Input tuple type
  */
+@PublicEvolving
 public class WriteFormatAsText<IN> extends WriteFormat<IN> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunction.java
index 27c352f..a9c724f 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunction.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.sink;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.FileNotFoundException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -30,6 +32,7 @@ import java.util.ArrayList;
  * @param <IN>
  *            Input tuple type
  */
+@PublicEvolving
 public abstract class WriteSinkFunction<IN> implements SinkFunction<IN> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunctionByMillis.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunctionByMillis.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunctionByMillis.java
index 0364174..62ad8c3 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunctionByMillis.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/WriteSinkFunctionByMillis.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.sink;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * Implementation of WriteSinkFunction. Writes tuples to file in every millis
  * milliseconds.
@@ -24,6 +26,7 @@ package org.apache.flink.streaming.api.functions.sink;
  * @param <IN>
  *            Input tuple type
  */
+@PublicEvolving
 public class WriteSinkFunctionByMillis<IN> extends WriteSinkFunction<IN> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/ConnectorSource.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/ConnectorSource.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/ConnectorSource.java
index 0d107f6..e4e6c68 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/ConnectorSource.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/ConnectorSource.java
@@ -17,10 +17,12 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.java.typeutils.ResultTypeQueryable;
 import org.apache.flink.streaming.util.serialization.DeserializationSchema;
 
+@PublicEvolving
 public abstract class ConnectorSource<OUT> extends 
RichParallelSourceFunction<OUT> implements ResultTypeQueryable<OUT> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileMonitoringFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileMonitoringFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileMonitoringFunction.java
index a217923..fc24079 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileMonitoringFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileMonitoringFunction.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.java.tuple.Tuple3;
 import org.apache.flink.core.fs.FileStatus;
 import org.apache.flink.core.fs.FileSystem;
@@ -31,6 +32,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+@PublicEvolving
 public class FileMonitoringFunction implements SourceFunction<Tuple3<String, 
Long, Long>> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileReadFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileReadFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileReadFunction.java
index 4f859e8..0f78826 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileReadFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileReadFunction.java
@@ -21,6 +21,7 @@ import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.URI;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.functions.FlatMapFunction;
 import org.apache.flink.api.java.tuple.Tuple3;
 import org.apache.flink.core.fs.FSDataInputStream;
@@ -28,6 +29,7 @@ import org.apache.flink.core.fs.FileSystem;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.util.Collector;
 
+@PublicEvolving
 public class FileReadFunction implements FlatMapFunction<Tuple3<String, Long, 
Long>, String> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileSourceFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileSourceFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileSourceFunction.java
index cc3925c..0dcb9ff 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileSourceFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FileSourceFunction.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.io.InputFormat;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.common.typeutils.TypeSerializer;
@@ -28,6 +29,7 @@ import 
org.apache.flink.streaming.api.operators.StreamingRuntimeContext;
 import java.util.Iterator;
 import java.util.NoSuchElementException;
 
+@PublicEvolving
 public class FileSourceFunction<OUT> extends RichParallelSourceFunction<OUT> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromElementsFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromElementsFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromElementsFunction.java
index cbe7149..98bc10e 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromElementsFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromElementsFunction.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.typeutils.TypeSerializer;
 import org.apache.flink.core.memory.DataInputView;
 import org.apache.flink.core.memory.DataInputViewStreamWrapper;
@@ -38,6 +39,7 @@ import java.util.Collection;
  * 
  * @param <T> The type of elements returned by this function.
  */
+@PublicEvolving
 public class FromElementsFunction<T> implements SourceFunction<T>, 
CheckpointedAsynchronously<Integer> {
        
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromIteratorFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromIteratorFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromIteratorFunction.java
index 655710e..e721bf3 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromIteratorFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromIteratorFunction.java
@@ -17,8 +17,11 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.util.Iterator;
 
+@PublicEvolving
 public class FromIteratorFunction<T> implements SourceFunction<T> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromSplittableIteratorFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromSplittableIteratorFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromSplittableIteratorFunction.java
index bc78e4d..dc97b1a 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromSplittableIteratorFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/FromSplittableIteratorFunction.java
@@ -17,11 +17,13 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.util.SplittableIterator;
 
 import java.util.Iterator;
 
+@PublicEvolving
 public class FromSplittableIteratorFunction<T> extends 
RichParallelSourceFunction<T> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MessageAcknowledgingSourceBase.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MessageAcknowledgingSourceBase.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MessageAcknowledgingSourceBase.java
index e7da5f8..d3cbfb6 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MessageAcknowledgingSourceBase.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MessageAcknowledgingSourceBase.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.common.typeutils.TypeSerializer;
@@ -76,6 +77,7 @@ import org.slf4j.LoggerFactory;
  * @param <Type> The type of the messages created by the source.
  * @param <UId> The type of unique IDs which may be used to acknowledge 
elements.
  */
+@PublicEvolving
 public abstract class MessageAcknowledgingSourceBase<Type, UId>
        extends RichSourceFunction<Type>
        implements Checkpointed<SerializedCheckpointData[]>, CheckpointListener 
{

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MultipleIdsMessageAcknowledgingSourceBase.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MultipleIdsMessageAcknowledgingSourceBase.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MultipleIdsMessageAcknowledgingSourceBase.java
index c097066..2237c1c 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MultipleIdsMessageAcknowledgingSourceBase.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/MultipleIdsMessageAcknowledgingSourceBase.java
@@ -18,6 +18,7 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.configuration.Configuration;
@@ -48,6 +49,7 @@ import java.util.List;
  * @param <SessionId> The type of the IDs that are used for acknowledging 
elements
  *                    (ids valid during session).
  */
+@PublicEvolving
 public abstract class MultipleIdsMessageAcknowledgingSourceBase<Type, UId, 
SessionId>
                extends MessageAcknowledgingSourceBase<Type, UId> {
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/RichEventTimeSourceFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/RichEventTimeSourceFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/RichEventTimeSourceFunction.java
index 6e0086d..c56bfbb 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/RichEventTimeSourceFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/RichEventTimeSourceFunction.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.functions.AbstractRichFunction;
 
 /**
@@ -41,6 +42,7 @@ import 
org.apache.flink.api.common.functions.AbstractRichFunction;
  *
  * @param <OUT> The type of the records produced by this source.
  */
+@PublicEvolving
 public abstract class RichEventTimeSourceFunction<OUT> extends 
AbstractRichFunction implements EventTimeSourceFunction<OUT> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/SocketTextStreamFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/SocketTextStreamFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/SocketTextStreamFunction.java
index 9310b71..4211806 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/SocketTextStreamFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/SocketTextStreamFunction.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.runtime.util.IOUtils;
 
 import org.slf4j.Logger;
@@ -40,6 +41,7 @@ import static 
com.google.common.base.Preconditions.checkNotNull;
  * <p>
  * The function can be set to reconnect to the server socket in case that the 
stream is closed on the server side.
  */
+@PublicEvolving
 public class SocketTextStreamFunction implements SourceFunction<String> {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/StatefulSequenceSource.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/StatefulSequenceSource.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/StatefulSequenceSource.java
index 14badf1..563f6ef 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/StatefulSequenceSource.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/StatefulSequenceSource.java
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.streaming.api.functions.source;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.functions.RuntimeContext;
 import org.apache.flink.streaming.api.checkpoint.Checkpointed;
 
@@ -24,6 +25,7 @@ import org.apache.flink.streaming.api.checkpoint.Checkpointed;
  * A stateful streaming source that emits each number from a given interval 
exactly once,
  * possibly in parallel.
  */
+@PublicEvolving
 public class StatefulSequenceSource extends RichParallelSourceFunction<Long> 
implements Checkpointed<Long> {
        
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyAllWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyAllWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyAllWindowFunction.java
index 7828a23..76fd562 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyAllWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyAllWindowFunction.java
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.functions.FoldFunction;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
@@ -33,6 +34,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+@Internal
 public class FoldApplyAllWindowFunction<W extends Window, T, ACC>
        extends WrappingFunction<AllWindowFunction<ACC, ACC, W>>
        implements AllWindowFunction<Iterable<T>, ACC, W>, 
OutputTypeConfigurable<ACC> {

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyWindowFunction.java
index 94356dc..40e8830 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/FoldApplyWindowFunction.java
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.functions.FoldFunction;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
@@ -33,6 +34,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+@Internal
 public class FoldApplyWindowFunction<K, W extends Window, T, ACC>
        extends WrappingFunction<WindowFunction<ACC, ACC, K, W>>
        implements WindowFunction<Iterable<T>, ACC, K, W>, 
OutputTypeConfigurable<ACC> {

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughAllWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughAllWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughAllWindowFunction.java
index 3ac2e2c..3e3ffca 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughAllWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughAllWindowFunction.java
@@ -17,10 +17,13 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.streaming.api.windowing.windows.Window;
 import org.apache.flink.util.Collector;
 
+@Internal
 public class PassThroughAllWindowFunction<W extends Window, T> implements 
AllWindowFunction<T, T, W> {
+
        private static final long serialVersionUID = 1L;
 
        @Override

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughWindowFunction.java
index 254c489..21709b9 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/PassThroughWindowFunction.java
@@ -17,10 +17,13 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.streaming.api.windowing.windows.Window;
 import org.apache.flink.util.Collector;
 
+@Internal
 public class PassThroughWindowFunction<K, W extends Window, T> implements 
WindowFunction<T, T, K, W> {
+
        private static final long serialVersionUID = 1L;
 
        @Override

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyAllWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyAllWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyAllWindowFunction.java
index f9fb771..ce1615b 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyAllWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyAllWindowFunction.java
@@ -17,11 +17,13 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.ReduceFunction;
 import org.apache.flink.api.java.operators.translation.WrappingFunction;
 import org.apache.flink.streaming.api.windowing.windows.Window;
 import org.apache.flink.util.Collector;
 
+@Internal
 public class ReduceApplyAllWindowFunction<W extends Window, T, R>
        extends WrappingFunction<AllWindowFunction<T, R, W>>
        implements AllWindowFunction<Iterable<T>, R, W> {

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyWindowFunction.java
index bf52e9b..75ea2d2 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceApplyWindowFunction.java
@@ -17,11 +17,13 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.ReduceFunction;
 import org.apache.flink.api.java.operators.translation.WrappingFunction;
 import org.apache.flink.streaming.api.windowing.windows.Window;
 import org.apache.flink.util.Collector;
 
+@Internal
 public class ReduceApplyWindowFunction<K, W extends Window, T, R>
        extends WrappingFunction<WindowFunction<T, R, K, W>>
        implements WindowFunction<Iterable<T>, R, K, W> {

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableAllWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableAllWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableAllWindowFunction.java
index 2283fe7..a3b35ae 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableAllWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableAllWindowFunction.java
@@ -17,10 +17,12 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.ReduceFunction;
 import org.apache.flink.streaming.api.windowing.windows.Window;
 import org.apache.flink.util.Collector;
 
+@Internal
 public class ReduceIterableAllWindowFunction<W extends Window, T> implements 
AllWindowFunction<Iterable<T>, T, W> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableWindowFunction.java
index 063cee4..e296411 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/ReduceIterableWindowFunction.java
@@ -17,10 +17,12 @@
  */
 package org.apache.flink.streaming.api.functions.windowing;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.ReduceFunction;
 import org.apache.flink.streaming.api.windowing.windows.Window;
 import org.apache.flink.util.Collector;
 
+@Internal
 public class ReduceIterableWindowFunction<K, W extends Window, T> implements 
WindowFunction<Iterable<T>, T, K, W> {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/RichWindowFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/RichWindowFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/RichWindowFunction.java
index db54b39..18ad19a 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/RichWindowFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/RichWindowFunction.java
@@ -23,5 +23,6 @@ import 
org.apache.flink.streaming.api.windowing.windows.Window;
 
 @Public
 public abstract class RichWindowFunction<IN, OUT, KEY, W extends Window> 
extends AbstractRichFunction implements WindowFunction<IN, OUT, KEY, W> {
+
        private static final long serialVersionUID = 1L;
 }

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/CosineDistance.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/CosineDistance.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/CosineDistance.java
index 86a12e2..5b1e806 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/CosineDistance.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/CosineDistance.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta;
 
+import org.apache.flink.annotation.PublicEvolving;
 import 
org.apache.flink.streaming.api.functions.windowing.delta.extractor.Extractor;
 
 /**
@@ -31,6 +32,7 @@ import 
org.apache.flink.streaming.api.functions.windowing.delta.extractor.Extrac
  *            the respective extractor has been set. See
  *            {@link ExtractionAwareDeltaFunction} for more information.
  */
+@PublicEvolving
 public class CosineDistance<DATA> extends ExtractionAwareDeltaFunction<DATA, 
double[]> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/DeltaFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/DeltaFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/DeltaFunction.java
index 0ce2bf9..b94e453 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/DeltaFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/DeltaFunction.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.io.Serializable;
 
 /**
@@ -28,6 +30,7 @@ import java.io.Serializable;
  * @param <DATA>
  *            The type of input data which can be compared using this function.
  */
+@PublicEvolving
 public interface DeltaFunction<DATA> extends Serializable {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/EuclideanDistance.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/EuclideanDistance.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/EuclideanDistance.java
index 23efbf2..91020b8 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/EuclideanDistance.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/EuclideanDistance.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta;
 
+import org.apache.flink.annotation.PublicEvolving;
 import 
org.apache.flink.streaming.api.functions.windowing.delta.extractor.Extractor;
 
 /**
@@ -31,6 +32,7 @@ import 
org.apache.flink.streaming.api.functions.windowing.delta.extractor.Extrac
  *            the respective extractor has been set. See
  *            {@link ExtractionAwareDeltaFunction} for more information.
  */
+@PublicEvolving
 public class EuclideanDistance<DATA> extends 
ExtractionAwareDeltaFunction<DATA, double[]> {
 
        public EuclideanDistance() {

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/ExtractionAwareDeltaFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/ExtractionAwareDeltaFunction.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/ExtractionAwareDeltaFunction.java
index 7a4e01a..6ec150c 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/ExtractionAwareDeltaFunction.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/ExtractionAwareDeltaFunction.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta;
 
+import org.apache.flink.annotation.PublicEvolving;
 import 
org.apache.flink.streaming.api.functions.windowing.delta.extractor.Extractor;
 
 /**
@@ -33,6 +34,7 @@ import 
org.apache.flink.streaming.api.functions.windowing.delta.extractor.Extrac
  *            The type on which the delta function runs. (The type of the delta
  *            function)
  */
+@PublicEvolving
 public abstract class ExtractionAwareDeltaFunction<DATA, TO> implements 
DeltaFunction<DATA> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ArrayFromTuple.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ArrayFromTuple.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ArrayFromTuple.java
index baceba4..aa48aa5 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ArrayFromTuple.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ArrayFromTuple.java
@@ -17,12 +17,14 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.tuple.Tuple;
 
 /**
  * Converts a Tuple to an Object-Array. The field which should be included in
  * the array can selected and reordered as needed.
  */
+@Internal
 public class ArrayFromTuple implements Extractor<Tuple, Object[]> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ConcatenatedExtract.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ConcatenatedExtract.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ConcatenatedExtract.java
index 89c3a32..b1f8f75 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ConcatenatedExtract.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/ConcatenatedExtract.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
+
 /**
  * Combines two extractors which will be executed one after each other.
  *
@@ -29,6 +31,7 @@ package 
org.apache.flink.streaming.api.functions.windowing.delta.extractor;
  *            The output type of the second extractor and the output type of 
the
  *            over all extraction.
  */
+@Internal
 public class ConcatenatedExtract<FROM, OVER, TO> implements Extractor<FROM, 
TO> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/Extractor.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/Extractor.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/Extractor.java
index 8cd0014..a94f09a 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/Extractor.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/Extractor.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
+
 import java.io.Serializable;
 
 /**
@@ -29,6 +31,7 @@ import java.io.Serializable;
  * @param <TO>
  *            The output data type.
  */
+@Internal
 public interface Extractor<FROM, TO> extends Serializable {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromArray.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromArray.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromArray.java
index f9d0a2b..11afaba 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromArray.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromArray.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
+
 import java.lang.reflect.Array;
 
 /**
@@ -25,6 +27,7 @@ import java.lang.reflect.Array;
  * @param <OUT>
  *            The type of the extracted field.
  */
+@Internal
 public class FieldFromArray<OUT> implements Extractor<Object, OUT> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromTuple.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromTuple.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromTuple.java
index 627afca..c6cf1e1 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromTuple.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldFromTuple.java
@@ -17,6 +17,7 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.tuple.Tuple;
 
 /**
@@ -25,6 +26,7 @@ import org.apache.flink.api.java.tuple.Tuple;
  * @param <OUT>
  *            The type of the extracted field.
  */
+@Internal
 public class FieldFromTuple<OUT> implements Extractor<Tuple, OUT> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromArray.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromArray.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromArray.java
index b1c080e..9ac96e1 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromArray.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromArray.java
@@ -17,6 +17,8 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
+
 import java.lang.reflect.Array;
 
 /**
@@ -28,6 +30,7 @@ import java.lang.reflect.Array;
  *            of the extractor will be a String[]. If it is set to String[] the
  *            output will be String[][].
  */
+@Internal
 public class FieldsFromArray<OUT> implements Extractor<Object, OUT[]> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromTuple.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromTuple.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromTuple.java
index fc7f3ab..21a2641 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromTuple.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/windowing/delta/extractor/FieldsFromTuple.java
@@ -17,12 +17,14 @@
 
 package org.apache.flink.streaming.api.functions.windowing.delta.extractor;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.tuple.Tuple;
 
 /**
  * Extracts one or more fields of the type Double from a tuple and puts them
  * into a new double[]
  */
+@Internal
 public class FieldsFromTuple implements Extractor<Tuple, double[]> {
 
        /**

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/JSONGenerator.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/JSONGenerator.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/JSONGenerator.java
index eb8838c..c9c27d0 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/JSONGenerator.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/JSONGenerator.java
@@ -24,11 +24,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.streaming.api.operators.StreamOperator;
 import org.apache.sling.commons.json.JSONArray;
 import org.apache.sling.commons.json.JSONException;
 import org.apache.sling.commons.json.JSONObject;
 
+@Internal
 public class JSONGenerator {
 
        public static final String STEPS = "step_function";

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamConfig.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamConfig.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamConfig.java
index 311b7fb..1abb189 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamConfig.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamConfig.java
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.typeutils.TypeSerializer;
 import org.apache.flink.api.java.functions.KeySelector;
 import org.apache.flink.configuration.Configuration;
@@ -36,6 +37,7 @@ import org.apache.flink.runtime.state.AbstractStateBackend;
 import org.apache.flink.streaming.runtime.tasks.StreamTaskException;
 import org.apache.flink.util.InstantiationUtil;
 
+@Internal
 public class StreamConfig implements Serializable {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamEdge.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamEdge.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamEdge.java
index c252870..e2bcac1 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamEdge.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamEdge.java
@@ -20,6 +20,7 @@ package org.apache.flink.streaming.api.graph;
 import java.io.Serializable;
 import java.util.List;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.streaming.runtime.partitioner.StreamPartitioner;
 
 /**
@@ -27,6 +28,7 @@ import 
org.apache.flink.streaming.runtime.partitioner.StreamPartitioner;
  * gets converted to a connection between two job vertices (due to
  * chaining/optimization).
  */
+@Internal
 public class StreamEdge implements Serializable {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/c9db63b9/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamGraph.java
----------------------------------------------------------------------
diff --git 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamGraph.java
 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamGraph.java
index ea85f05..8725bf5 100644
--- 
a/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamGraph.java
+++ 
b/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamGraph.java
@@ -29,6 +29,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.io.InputFormat;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
@@ -65,6 +66,7 @@ import org.slf4j.LoggerFactory;
  * necessary to build the jobgraph for the execution.
  * 
  */
+@Internal
 public class StreamGraph extends StreamingPlan {
        
        private static final Logger LOG = 
LoggerFactory.getLogger(StreamGraph.class);

Reply via email to