public Builder addVersionSpecificSupport(final YangVersion version, final StatementSupport<?, ?, ?> definition) { checkArgument(supportedVersions.contains(requireNonNull(version))); final QName identifier = definition.getStatementName(); checkState(!commonStatements.containsKey(identifier), "Statement %s already defined in common statement bundle.", identifier); checkState(!versionSpecificStatements.contains(version, identifier), "Statement %s already defined for version %s.", identifier, version); checkNoParentDefinition(identifier); checkState(parent.getVersionSpecificStatementDefinition(version, identifier) == null, "Statement %s already defined for version %s in parent's statement bundle.", identifier, version); versionSpecificStatements.put(version, identifier, definition); return this; }
public Builder addSupport(final StatementSupport<?, ?, ?> support) { final QName identifier = support.getStatementName(); checkNoParentDefinition(identifier); checkState(!commonStatements.containsKey(identifier), "Statement %s already defined in common statement bundle.", identifier); commonStatements.put(identifier, support); return this; }
public Builder overrideSupport(final StatementSupport<?, ?, ?> support) { final QName identifier = support.getStatementName(); checkNoParentDefinition(identifier); final StatementSupport<?, ?, ?> previousSupport = commonStatements.replace(identifier, support); checkState(previousSupport != null, "Statement %s was not previously defined", identifier); LOG.debug("Changed statement {} support from {} to {}", identifier, previousSupport, support); return this; }