You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2020/01/21 12:50:57 UTC

[ignite] 01/01: IGNITE-12559 Add @IgniteExperimental annotation

This is an automated email from the ASF dual-hosted git repository.

agoncharuk pushed a commit to branch ignite-12559
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 4903224bcb2e2debfca8b0e05d4739052e091fdc
Author: Alexey Goncharuk <al...@gmail.com>
AuthorDate: Tue Jan 21 15:50:18 2020 +0300

    IGNITE-12559 Add @IgniteExperimental annotation
---
 .../org/apache/ignite/lang/IgniteExperimental.java | 36 ++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/modules/core/src/main/java/org/apache/ignite/lang/IgniteExperimental.java b/modules/core/src/main/java/org/apache/ignite/lang/IgniteExperimental.java
new file mode 100644
index 0000000..6011318
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteExperimental.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.lang;
+
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PACKAGE;
+import static java.lang.annotation.ElementType.TYPE;
+
+/**
+ * This annotation marks API elements (such as interfaces, methods, annotations and whole API packages) as experimental
+ * meaning that the API is not finalized yet and may be changed or replaced in future Ignite releases.
+ * <p>
+ * Such APIs are exposed so that users can make use of a feature before the API has been stabilized. The expectation is
+ * that an API element should be "eventually" stabilized. Incompatible changes are allowed for such APIs.
+ */
+@Target(value = {TYPE, METHOD, ANNOTATION_TYPE, PACKAGE})
+public @interface IgniteExperimental {
+}