private final SchemaPath path;
- SubIdEffectiveStatementImpl(final StmtContext<Uint32, SubIdStatement, ?> ctx,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
- super(ctx, substatements);
- path = ctx.getParentContext().getSchemaPath().get().createChild(getNodeType());
- }
-
- @Override
- public Uint32 getArgument() {
- return argument();
+ SubIdEffectiveStatementImpl(final SubIdStatement declared,
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
+ final StmtContext<Uint32, SubIdStatement, ?> ctx) {
+ super(declared.argument(), declared, substatements, ctx);
+ path = ctx.coerceParentContext().getSchemaPath().get().createChild(getNodeType());
}
@Override
}
@Override
+ @Deprecated
public SchemaPath getPath() {
return path;
}
+ @Override
+ public SubIdEffectiveStatement asEffectiveStatement() {
+ return this;
+ }
+
@Override
public int hashCode() {
return Objects.hash(path, getNodeType(), getNodeParameter());
if (this == obj) {
return true;
}
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
+ if (!(obj instanceof SubIdEffectiveStatementImpl)) {
return false;
}
final SubIdEffectiveStatementImpl other = (SubIdEffectiveStatementImpl) obj;
- if (!Objects.equals(path, other.path)) {
- return false;
- }
- if (!Objects.equals(getNodeType(), other.getNodeType())) {
- return false;
- }
- if (!Objects.equals(getNodeParameter(), other.getNodeParameter())) {
- return false;
- }
- return true;
+ return Objects.equals(getNodeType(), other.getNodeType())
+ && Objects.equals(getNodeParameter(), other.getNodeParameter()) && Objects.equals(path, other.path);
}
}