import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
* Class providing necessary support for processing a YANG statement. This class is intended to be subclassed
* by developers who want to add semantic support for a statement to a parser reactor.
*
- * @param <A>
- * Argument type
- * @param <D>
- * Declared Statement representation
- * @param <E>
- * Effective Statement representation
+ * @param <A> Argument type
+ * @param <D> Declared Statement representation
+ * @param <E> Effective Statement representation
*/
public abstract class AbstractStatementSupport<A, D extends DeclaredStatement<A>, E extends EffectiveStatement<A, D>>
implements StatementDefinition, StatementFactory<A, D, E>, StatementSupport<A, D, E> {
- private final StatementDefinition type;
+ private final @NonNull StatementDefinition type;
protected AbstractStatementSupport(final StatementDefinition publicDefinition) {
this.type = requireNonNull(publicDefinition);
/**
* Returns corresponding substatement validator of a statement support.
*
- * @return substatement validator or null, if substatement validator is not
- * defined
+ * @return substatement validator or null, if substatement validator is not defined
*/
- @Nullable
- protected abstract SubstatementValidator getSubstatementValidator();
+ protected abstract @Nullable SubstatementValidator getSubstatementValidator();
}
import com.google.common.annotations.Beta;
import java.util.Optional;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* Public statement definition may be used to provide different implementation of statement definition,
* which will not retain any build specific data or context.
*
- * @return public statement definition, which will be present in built
- * statements.
+ * @return public statement definition, which will be present in built statements.
*/
- StatementDefinition getPublicView();
+ @NonNull StatementDefinition getPublicView();
/**
* Parses textual representation of argument in object representation.
*
- * @param ctx
- * Context, which may be used to access source-specific
- * namespaces required for parsing.
- * @param value
- * String representation of value, as was present in text source.
+ * @param ctx Context, which may be used to access source-specific namespaces required for parsing.
+ * @param value String representation of value, as was present in text source.
* @return Parsed value
- * @throws SourceException
- * when an inconsistency is detected.
+ * @throws SourceException when an inconsistency is detected.
*/
A parseArgumentValue(StmtContext<?, ?, ?> ctx, String value);
* argument of statement
* @return statement support specific for supplied argument or null
*/
- @Nullable
- StatementSupport<?, ?, ?> getSupportSpecificForArgument(String argument);
+ @Nullable StatementSupport<?, ?, ?> getSupportSpecificForArgument(String argument);
/**
* Given a raw string representation of an argument, try to use a shared representation.