*/
package org.opendaylight.yangtools.yang.parser.stmt.rfc6020;
+import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.PositionEffectiveStatementImpl;
-public class PositionStatementImpl extends AbstractDeclaredStatement<Long>
- implements PositionStatement {
- private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(Rfc6020Mapping
- .POSITION)
- .build();
+public class PositionStatementImpl extends AbstractDeclaredStatement<Long> implements PositionStatement {
+ private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(
+ Rfc6020Mapping.POSITION).build();
- protected PositionStatementImpl(
- StmtContext<Long, PositionStatement, ?> context) {
+ protected PositionStatementImpl(final StmtContext<Long, PositionStatement, ?> context) {
super(context);
}
- public static class Definition
- extends
- AbstractStatementSupport<Long, PositionStatement, EffectiveStatement<Long, PositionStatement>> {
+ public static class Definition extends AbstractStatementSupport<Long, PositionStatement,
+ EffectiveStatement<Long, PositionStatement>> {
public Definition() {
super(Rfc6020Mapping.POSITION);
}
@Override
- public Long parseArgumentValue(StmtContext<?, ?, ?> ctx, String value) {
+ public Long parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
try {
return Long.parseLong(value);
} catch (NumberFormatException e) {
- throw new IllegalArgumentException(String.format("Position value %s is not valid integer", value), e);
+ throw new SourceException(String.format("Bit position value %s is not valid integer", value),
+ ctx.getStatementSourceReference(), e);
}
}
@Override
- public PositionStatement createDeclared(
- StmtContext<Long, PositionStatement, ?> ctx) {
+ public PositionStatement createDeclared(final StmtContext<Long, PositionStatement, ?> ctx) {
return new PositionStatementImpl(ctx);
}
@Override
public EffectiveStatement<Long, PositionStatement> createEffective(
- StmtContext<Long, PositionStatement, EffectiveStatement<Long, PositionStatement>> ctx) {
+ final StmtContext<Long, PositionStatement, EffectiveStatement<Long, PositionStatement>> ctx) {
return new PositionEffectiveStatementImpl(ctx);
}
@Override
- public void onFullDefinitionDeclared(StmtContext.Mutable<Long, PositionStatement,
- EffectiveStatement<Long, PositionStatement>> stmt) throws SourceException {
+ public void onFullDefinitionDeclared(
+ final StmtContext.Mutable<Long, PositionStatement, EffectiveStatement<Long, PositionStatement>> stmt) {
super.onFullDefinitionDeclared(stmt);
SUBSTATEMENT_VALIDATOR.validate(stmt);
}
}
@Override
- public Long getValue() {
+ public long getValue() {
return argument();
}
-
}