import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.YangConstants;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
YANG_VERSION(YangVersionStatement.class, YangVersionEffectiveStatement.class, "yang-version", "value"),
YIN_ELEMENT(YinElementStatement.class, YinElementEffectiveStatement.class, "yin-element", "value");
- private final Class<? extends DeclaredStatement<?>> declaredType;
- private final Class<? extends EffectiveStatement<?, ?>> effectiveType;
- private final QName name;
+ private final @NonNull Class<? extends DeclaredStatement<?>> declaredType;
+ private final @NonNull Class<? extends EffectiveStatement<?, ?>> effectiveType;
+ private final @NonNull QName name;
private final QName argument;
private final boolean yinElement;
this.yinElement = yinElement;
}
- @Nonnull private static QName yinQName(final String nameStr) {
+ private static @NonNull QName yinQName(final String nameStr) {
return QName.create(YangConstants.RFC6020_YIN_MODULE, nameStr).intern();
}
- @Nonnull
@Override
public QName getStatementName() {
return name;
}
@Override
- @Nullable public QName getArgumentName() {
+ @Nullable
+ public QName getArgumentName() {
return argument;
}
@Override
- @Nonnull public Class<? extends DeclaredStatement<?>> getDeclaredRepresentationClass() {
+ public Class<? extends DeclaredStatement<?>> getDeclaredRepresentationClass() {
return declaredType;
}
- @Nonnull
@Override
public Class<? extends EffectiveStatement<?, ?>> getEffectiveRepresentationClass() {
return effectiveType;
*/
package org.opendaylight.yangtools.yang.model.api.meta;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
/**
* Model statement. There are two base types of model statements:
*
* @return definition of this statement.
*/
- @Nonnull StatementDefinition statementDefinition();
+ @NonNull StatementDefinition statementDefinition();
/**
* Returns statement argument.
*
* @return statement argument or null if statement does not have argument.
*/
+ // FIXME: figure out @NonNull argument override in subclasses and switch to JDT @Nullable
@Nullable A argument();
/**
*
* @return statement source.
*/
- @Nonnull StatementSource getStatementSource();
+ @NonNull StatementSource getStatementSource();
}
*/
package org.opendaylight.yangtools.yang.model.api.meta;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.concepts.Immutable;
import org.opendaylight.yangtools.yang.common.QName;
*
* @return Name of the statement
*/
- @Nonnull
- QName getStatementName();
+ @NonNull QName getStatementName();
/**
* Returns name of statement argument or null, if statement does not have
*
* @return argument name or null, if statement does not take argument.
*/
+ // FIXME: 3.0.0: make this return an Optional<StatementArgumentDefinition>, which will include the boolean value
+ // of isArgumentYinElement()
@Nullable
QName getArgumentName();
* @return class which represents declared version of statement associated
* with this definition.
*/
- @Nonnull
- Class<? extends DeclaredStatement<?>> getDeclaredRepresentationClass();
+ @NonNull Class<? extends DeclaredStatement<?>> getDeclaredRepresentationClass();
/**
* Returns class which represents derived behaviour from supplied statement.
* @return class which represents effective version of statement associated
* with this definition
*/
- @Nonnull
- Class<? extends EffectiveStatement<?, ?>> getEffectiveRepresentationClass();
+ @NonNull Class<? extends EffectiveStatement<?, ?>> getEffectiveRepresentationClass();
/**
* Returns true, if argument of statement is represented as value of yin
* @return returns true, if statement argument is represented as value of
* yin element, otherwise returns false.
*/
+ // FIXME: 3.0.0: integrate this with getArgumentName()
boolean isArgumentYinElement();
}
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
* to be declared in a model.
*/
final class ModelDefinedStatementDefinition implements StatementDefinition {
- private final QName statementName;
+ private final @NonNull QName statementName;
private final QName argumentName;
private final boolean yinElement;
import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
ThirdPartyExtensionStatementImpl.class, ThirdPartyExtensionEffectiveStatementImpl.class,
"third-party-extension", "argument-name", false);
- private final Class<? extends DeclaredStatement<?>> type;
- private final Class<? extends EffectiveStatement<?, ?>> effectiveType;
- private final QName name;
+ private final @NonNull Class<? extends DeclaredStatement<?>> type;
+ private final @NonNull Class<? extends EffectiveStatement<?, ?>> effectiveType;
+ private final @NonNull QName name;
private final QName argument;
private final boolean yinElement;
this.yinElement = yinElement;
}
- @Nonnull
- private static QName createQName(final String namespace, final String localName) {
+ private static @NonNull QName createQName(final String namespace, final String localName) {
return QName.create(namespace, localName).intern();
}
- @Nonnull
- private static QName createQName(final String namespace, final String revision, final String localName) {
+ private static @NonNull QName createQName(final String namespace, final String revision, final String localName) {
return QName.create(namespace, revision, localName).intern();
}
- @Nonnull
@Override
public QName getStatementName() {
return name;
}
@Override
- @Nullable
public QName getArgumentName() {
return argument;
}
@Override
- @Nonnull
public Class<? extends DeclaredStatement<?>> getDeclaredRepresentationClass() {
return type;
}
- @Nonnull
@Override
public Class<? extends EffectiveStatement<?, ?>> getEffectiveRepresentationClass() {
return effectiveType;