private final SortedMap<QName, ChoiceCaseNode> cases;
private final ChoiceCaseNode defaultCase;
private final ChoiceSchemaNode original;
+ private final boolean mandatory;
public ChoiceEffectiveStatementImpl(
final StmtContext<QName, ChoiceStatement, EffectiveStatement<QName, ChoiceStatement>> ctx) {
} else {
defaultCase = null;
}
+
+ final MandatoryEffectiveStatement mandatoryStmt = firstEffective(MandatoryEffectiveStatement.class);
+ mandatory = mandatoryStmt == null ? false : mandatoryStmt.argument().booleanValue();
}
private static void resetAugmenting(final DataSchemaNode dataSchemaNode) {
return Optional.ofNullable(defaultCase);
}
+ @Override
+ public boolean isMandatory() {
+ return mandatory;
+ }
+
@Override
public int hashCode() {
final int prime = 31;