Basic types have stood the test of time so far, drop @Beta annotations.
Change-Id: Icd8e8957706eb78678715a17653615de4b09d948
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.ActionEffectiveStatement;
/**
* A {@link RuntimeType} associated with an {@code action} statement.
*/
-@Beta
public interface ActionRuntimeType extends InvokableRuntimeType {
@Override
ActionEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.AnydataEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code anydata} statement.
*/
-@Beta
public interface AnydataRuntimeType extends OpaqueRuntimeType {
@Override
AnydataEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement;
/**
* A {@link RuntimeType} associated with an {@code anyxml} statement.
*/
-@Beta
public interface AnyxmlRuntimeType extends OpaqueRuntimeType {
@Override
AnyxmlEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.AugmentEffectiveStatement;
/**
* A {@link RuntimeType} associated with an {@code augment} statement.
*/
-@Beta
public interface AugmentRuntimeType extends CompositeRuntimeType, DataRuntimeType {
@Override
AugmentEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
/**
* A {@link CompositeRuntimeType} which is also can be targeted by {@code augment} statements.
*/
-@Beta
public interface AugmentableRuntimeType extends CompositeRuntimeType {
/**
* Return the {@link AugmentRuntimeType}s extending this type, matching the underlying {@link #statement()}.
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.CaseEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code case} statement.
*/
-@Beta
public interface CaseRuntimeType extends AugmentableRuntimeType, DataRuntimeType {
@Override
CaseEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
* A {@link RuntimeType} associated with a {@code choice} statement. Note that unlike YANG semantics, in Binding Spec
* semantics a type generated for a 'choice' statement is <b>does not</b> implement {@link Augmentable}.
*/
-@Beta
public interface ChoiceRuntimeType extends CompositeRuntimeType, DataRuntimeType {
@Override
ChoiceEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
-
/**
* A {@link RuntimeType} which is also a {@link RuntimeTypeContainer}. This is a pure composition interface and does not
* imply further contract.
*/
-@Beta
public interface CompositeRuntimeType extends GeneratedRuntimeType, RuntimeTypeContainer {
// Pure contract composition
}
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement;
/**
* A {@link RuntimeType} associated with a statement with similar semantics as {@code container} statement.
*/
-@Beta
public interface ContainerLikeRuntimeType<D extends DeclaredStatement<QName>,
E extends DataTreeEffectiveStatement<D> & DataTreeAwareEffectiveStatement<QName, D>>
extends AugmentableRuntimeType, DataRuntimeType {
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.ContainerEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement;
/**
* A {@link RuntimeType} associated with a {@code container} statement.
*/
-@Beta
public interface ContainerRuntimeType
extends ContainerLikeRuntimeType<ContainerStatement, ContainerEffectiveStatement> {
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
/**
* and similar, as those exist in outside of {@code data tree} contract, but are still part of what
* {@link RuntimeTypeContainer#bindingChild(JavaTypeName)} considers as child constructs.
*/
-@Beta
public interface DataRuntimeType extends RuntimeType {
// Marker interface, no further contract is specified
}
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code feature} statement.
*/
-@Beta
public interface FeatureRuntimeType extends GeneratedRuntimeType {
@Override
FeatureEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.yangtools.concepts.Identifiable;
/**
* A {@link RuntimeType} associated with a {@link GeneratedType}.
*/
-@Beta
public interface GeneratedRuntimeType extends RuntimeType, Identifiable<JavaTypeName> {
@Override
GeneratedType javaType();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code grouping} statement.
*/
-@Beta
public interface GroupingRuntimeType extends CompositeRuntimeType {
@Override
GroupingEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code identity} statement.
*/
-@Beta
public interface IdentityRuntimeType extends GeneratedRuntimeType {
@Override
IdentityEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement;
/**
* A {@link RuntimeType} associated with an {@code input} statement.
*/
-@Beta
public interface InputRuntimeType extends ContainerLikeRuntimeType<InputStatement, InputEffectiveStatement> {
}
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
/**
* Common interface for run-time types associated with invokable operations, such as those defined by {@code action} and
* {@code rpc} statements.
*/
-@Beta
public interface InvokableRuntimeType extends CompositeRuntimeType {
/**
* Return the run-time type for this action's input.
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code key} statement.
*/
-@Beta
public interface KeyRuntimeType extends GeneratedRuntimeType {
@Override
KeyEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.LeafListEffectiveStatement;
-@Beta
+/**
+ * A {@link DataRuntimeType} associated with a {@code leaf-list} statement.
+ */
public interface LeafListRuntimeType extends DataRuntimeType {
@Override
LeafListEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.LeafEffectiveStatement;
-@Beta
+/**
+ * A {@link DataRuntimeType} associated with a {@code leaf} statement.
+ */
public interface LeafRuntimeType extends DataRuntimeType {
@Override
LeafEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.stmt.ListEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code list} statement.
*/
-@Beta
public interface ListRuntimeType extends AugmentableRuntimeType, DataRuntimeType {
@Override
ListEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.YangDataName;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code module} statement.
*/
-@Beta
public interface ModuleRuntimeType extends CompositeRuntimeType {
@Override
ModuleEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement;
/**
* A {@link RuntimeType} associated with a {@code notification} statement.
*/
-@Beta
public interface NotificationRuntimeType extends AugmentableRuntimeType {
@Override
NotificationEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement;
/**
* A {@link RuntimeType} associated with an opaque construct, like {@code anydata} and {@code anyxml}.
*/
-@Beta
public interface OpaqueRuntimeType extends GeneratedRuntimeType, DataRuntimeType {
@Override
DataTreeEffectiveStatement<?> statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
/**
* A {@link RuntimeType} associated with an {@code output} statement.
*/
-@Beta
public interface OutputRuntimeType extends ContainerLikeRuntimeType<OutputStatement, OutputEffectiveStatement> {
}
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement;
/**
* A {@link RuntimeType} associated with an {@code rpc} statement.
*/
-@Beta
public interface RpcRuntimeType extends InvokableRuntimeType {
@Override
RpcEffectiveStatement statement();
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.binding.model.api.Type;
import org.opendaylight.yangtools.concepts.Immutable;
/**
* Base interface for all run-time type information about a particular {@link Type}.
*/
-@Beta
public interface RuntimeType extends Immutable {
/**
* Java type associated with this run-time type.
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.Type;
/**
* An object containing {@link RuntimeType}s.
*/
-@Beta
public interface RuntimeTypeContainer extends Immutable {
/**
* Look up a child {@link RuntimeType} by its {@code schema tree} {@link QName}. Note the returned child does not
*/
package org.opendaylight.mdsal.binding.runtime.api;
-import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.yangtools.rfc8040.model.api.YangDataEffectiveStatement;
-@NonNullByDefault
+/**
+ * A {@link CompositeRuntimeType} associated with a RESTCONF {@code yang-data} statement.
+ */
public interface YangDataRuntimeType extends CompositeRuntimeType {
@Override
YangDataEffectiveStatement statement();