protected AbstractEffectiveSchemaNode(final StmtContext<QName, D, ?> ctx) { super(ctx); this.path = ctx.getSchemaPath().get(); ImmutableList.Builder<UnknownSchemaNode> listBuilder = new ImmutableList.Builder<>(); for (EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) { if (effectiveStatement instanceof UnknownSchemaNode) { listBuilder.add((UnknownSchemaNode) effectiveStatement); } } this.unknownNodes = listBuilder.build(); }
RefineEffectiveStatementImpl(final StmtContext<SchemaNodeIdentifier, RefineStatement, ?> ctx) { super(ctx); qname = verifyNotNull(ctx.coerceStatementArgument().getLastComponent()); path = ctx.getSchemaPath().get(); refineTargetNode = (SchemaNode) ctx.getEffectOfStatement().iterator().next().buildEffective(); // initSubstatementCollectionsAndFields this.unknownNodes = ImmutableList.copyOf(effectiveSubstatements().stream() .filter(UnknownSchemaNode.class::isInstance) .map(UnknownSchemaNode.class::cast) .collect(Collectors.toList())); }
AnyxmlSchemaLocationEffectiveStatementImpl( final StmtContext<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild(getNodeType()); }
OpenConfigVersionEffectiveStatementImpl(final StmtContext<SemVer, OpenConfigVersionStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild(getNodeType()); }
AnyxmlSchemaLocationEffectiveStatementImpl( final StmtContext<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild(getNodeType()); }
static final SchemaPath typeEffectiveSchemaPath(final StmtContext<?, ?, ?> stmtCtx) { final SchemaPath path = stmtCtx.getSchemaPath().get(); final SchemaPath parent = path.getParent(); final QName parentQName = parent.getLastComponent(); Preconditions.checkArgument(parentQName != null, "Path %s has an empty parent", path); final QName qname = stmtCtx.getFromNamespace(QNameCacheNamespace.class, QName.create(parentQName, path.getLastComponent().getLocalName())); return parent.createChild(qname); } }
Effective(final StmtContext<Void, DefaultDenyWriteStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( ctx.getPublicDefinition().getStatementName()); }
Effective(final StmtContext<Void, DefaultDenyAllStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( ctx.getPublicDefinition().getStatementName()); }
Effective(final StmtContext<Void, DefaultDenyWriteStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( ctx.getPublicDefinition().getStatementName()); }
Effective(final StmtContext<Void, OpenConfigHashedValueStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( ctx.getPublicDefinition().getStatementName()); }
Effective(final StmtContext<Void, DefaultDenyAllStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( ctx.getPublicDefinition().getStatementName()); }
Effective(final StmtContext<Void, OpenConfigHashedValueStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( ctx.getPublicDefinition().getStatementName()); }
UnrecognizedEffectiveStatementImpl(final StmtContext<String, UnrecognizedStatement, ?> ctx) { super(ctx); // FIXME: Remove following section after fixing 4380 final UnknownSchemaNode original = (UnknownSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective) .orElse(null); if (original != null) { this.maybeQNameArgument = original.getQName(); } else { QName maybeQNameArgumentInit = null; try { maybeQNameArgumentInit = StmtContextUtils.qnameFromArgument(ctx, argument()); } catch (IllegalArgumentException e) { maybeQNameArgumentInit = getNodeType(); } this.maybeQNameArgument = maybeQNameArgumentInit; } path = ctx.coerceParentContext().getSchemaPath().get().createChild(maybeQNameArgument); }
YangDataEffectiveStatementImpl(final StmtContext<String, YangDataStatement, ?> ctx) { super(ctx); QName maybeQNameArgumentInit; try { maybeQNameArgumentInit = StmtContextUtils.parseIdentifier(ctx, argument()); } catch (IllegalArgumentException e) { maybeQNameArgumentInit = getNodeType(); } this.maybeQNameArgument = maybeQNameArgumentInit; path = ctx.coerceParentContext().getSchemaPath().get().createChild(maybeQNameArgument); container = findFirstEffectiveSubstatement(ContainerEffectiveStatement.class).get(); // TODO: this is strong binding of two API contracts. Unfortunately ContainerEffectiveStatement design is // incomplete. Verify.verify(container instanceof ContainerSchemaNode); }
UnionSpecificationEffectiveStatement( final StmtContext<String, UnionSpecification, EffectiveStatement<String, UnionSpecification>> ctx) { super(ctx); final UnionTypeBuilder builder = BaseTypes.unionTypeBuilder(ctx.getSchemaPath().get()); for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) { if (stmt instanceof TypeEffectiveStatement) { builder.addType(((TypeEffectiveStatement<?>)stmt).getTypeDefinition()); } if (stmt instanceof UnknownSchemaNode) { builder.addUnknownSchemaNode((UnknownSchemaNode)stmt); } } typeDefinition = builder.build(); }
YangDataEffectiveStatementImpl(final StmtContext<String, YangDataStatement, ?> ctx) { super(ctx); QName maybeQNameArgumentInit; try { maybeQNameArgumentInit = StmtContextUtils.parseIdentifier(ctx, argument()); } catch (IllegalArgumentException e) { maybeQNameArgumentInit = getNodeType(); } this.maybeQNameArgument = maybeQNameArgumentInit; path = ctx.coerceParentContext().getSchemaPath().get().createChild(maybeQNameArgument); container = findFirstEffectiveSubstatement(ContainerEffectiveStatement.class).get(); // TODO: this is strong binding of two API contracts. Unfortunately ContainerEffectiveStatement design is // incomplete. Verify.verify(container instanceof ContainerSchemaNode); }
InstanceIdentifierSpecificationEffectiveStatement(final StmtContext<String, InstanceIdentifierSpecification, EffectiveStatement<String, InstanceIdentifierSpecification>> ctx) { super(ctx); final InstanceIdentifierTypeBuilder builder = RestrictedTypes.newInstanceIdentifierBuilder( BaseTypes.instanceIdentifierType(), ctx.getSchemaPath().get()); for (EffectiveStatement<?, ?> stmt : effectiveSubstatements()) { if (stmt instanceof RequireInstanceEffectiveStatement) { builder.setRequireInstance(((RequireInstanceEffectiveStatement)stmt).argument()); } if (stmt instanceof UnknownSchemaNode) { builder.addUnknownSchemaNode((UnknownSchemaNode)stmt); } } typeDefinition = builder.build(); }
IdentityRefSpecificationEffectiveStatement(final StmtContext<String, IdentityRefSpecification, EffectiveStatement<String, IdentityRefSpecification>> ctx) { super(ctx); final IdentityrefTypeBuilder builder = BaseTypes.identityrefTypeBuilder(ctx.getSchemaPath().get()); for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) { if (stmt instanceof BaseEffectiveStatement) { final QName identityQName = ((BaseEffectiveStatement) stmt).argument(); final StmtContext<?, IdentityStatement, EffectiveStatement<QName, IdentityStatement>> identityCtx = ctx.getFromNamespace(IdentityNamespace.class, identityQName); builder.addIdentity((IdentitySchemaNode) identityCtx.buildEffective()); } if (stmt instanceof UnknownSchemaNode) { builder.addUnknownSchemaNode((UnknownSchemaNode)stmt); } } typeDefinition = builder.build(); }
LeafrefSpecificationEffectiveStatement(final StmtContext<String, LeafrefSpecification, EffectiveStatement<String, LeafrefSpecification>> ctx) { super(ctx); final LeafrefTypeBuilder builder = BaseTypes.leafrefTypeBuilder(ctx.getSchemaPath().get()); for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) { if (stmt instanceof PathEffectiveStatement) { builder.setPathStatement(((PathEffectiveStatement) stmt).argument()); } else if (stmt instanceof RequireInstanceEffectiveStatement) { builder.setRequireInstance(((RequireInstanceEffectiveStatement)stmt).argument()); } else if (stmt instanceof UnknownSchemaNode) { builder.addUnknownSchemaNode((UnknownSchemaNode)stmt); } } typeDefinition = builder.build(); }
Effective(final StmtContext<String, AnnotationStatement, ?> ctx) { super(ctx); path = ctx.coerceParentContext().getSchemaPath().get().createChild( StmtContextUtils.parseIdentifier(ctx, argument())); final TypeEffectiveStatement<?> typeStmt = SourceException.throwIfNull( firstSubstatementOfType(TypeEffectiveStatement.class), ctx.getStatementSourceReference(), "AnnotationStatementSupport %s is missing a 'type' statement", argument()); final ConcreteTypeBuilder<?> builder = ConcreteTypes.concreteTypeBuilder(typeStmt.getTypeDefinition(), path); final StmtContext<String, ?, ?> unitsStmt = StmtContextUtils.findFirstEffectiveSubstatement(ctx, UnitsStatement.class); if (unitsStmt != null) { builder.setUnits(unitsStmt.getStatementArgument()); } type = builder.build(); }