转载自:http://www.linuxidc.com/Linux/2012-09/70620.htm
InterfaceAudience 类包含三个注解类型,用来被说明被他们注解的类型的潜在的使用范围(audience)。
@InterfaceAudience.Public: 对所有工程和应用可用
@InterfaceAudience.LimitedPrivate: 仅限于某些特定工程,如Comomn,HDFS等
@InterfaceAudience.Private: 仅限于Hadoop
- /*
- * 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.hadoop.classification;
- import java.lang.annotation.Documented;
- /**
- * Annotation to inform users of a package, class or method's intended audience.
- */
- @InterfaceAudience.Public
- @InterfaceStability.Evolving
- public class InterfaceAudience {
- /**
- * Intended for use by any project or application.
- */
- @Documented public @interface Public {};
- /**
- * Intended only for the project(s) specified in the annotation.
- * For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
- */
- @Documented public @interface LimitedPrivate {
- String[] value();
- };
- /**
- * Intended for use only within Hadoop itself.
- */
- @Documented public @interface Private {};
- private InterfaceAudience() {} // Audience can't exist on its own
- }
本文介绍了Hadoop中InterfaceAudience类的三种注解:Public、LimitedPrivate 和 Private,用于限定接口、类或方法的适用范围。这些注解有助于开发者理解组件的使用场景,确保正确地使用Hadoop的相关API。

7035

被折叠的 条评论
为什么被折叠?



