import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
/**
- * Contains method for getting data from <code>identityref</code> built-in YANG type.
+ * Contains method for getting data from {@code identityref} built-in YANG type.
*/
public interface IdentityrefTypeDefinition extends TypeDefinition<IdentityrefTypeDefinition> {
/**
* @return set of identities to which the instance of this type refers (in YANG 1.1 models) or a set containing
* just one identity (in YANG 1.0 models)
*/
- @NonNull Set<? extends IdentitySchemaNode> getIdentities();
+ @NonNull Set<? extends @NonNull IdentitySchemaNode> getIdentities();
static int hashCode(final @NonNull IdentityrefTypeDefinition type) {
return Objects.hash(type.getQName(), type.getUnknownSchemaNodes(), type.getBaseType(),
import static java.util.Objects.requireNonNull;
+import com.google.common.collect.ImmutableSet;
import java.util.Collection;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
final class BaseIdentityrefType extends AbstractBaseType<IdentityrefTypeDefinition>
implements IdentityrefTypeDefinition {
- private final @NonNull Set<? extends IdentitySchemaNode> identities;
+ private final @NonNull ImmutableSet<@NonNull IdentitySchemaNode> identities;
BaseIdentityrefType(final QName qname, final Collection<? extends UnknownSchemaNode> unknownSchemaNodes,
- final Set<? extends IdentitySchemaNode> identities) {
+ final ImmutableSet<@NonNull IdentitySchemaNode> identities) {
super(qname, unknownSchemaNodes);
this.identities = requireNonNull(identities);
}
@Override
- public Set<? extends IdentitySchemaNode> getIdentities() {
+ public Set<@NonNull IdentitySchemaNode> getIdentities() {
return identities;
}
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSet.Builder;
-import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
public final class IdentityrefTypeBuilder extends TypeBuilder<IdentityrefTypeDefinition> {
- private final Builder<IdentitySchemaNode> builder = ImmutableSet.builder();
+ private final Builder<@NonNull IdentitySchemaNode> builder = ImmutableSet.builder();
IdentityrefTypeBuilder(final QName qname) {
super(null, qname);
@Override
public IdentityrefTypeDefinition build() {
- final Set<IdentitySchemaNode> identities = builder.build();
+ final var identities = builder.build();
checkState(!identities.isEmpty(), "No identities specified in %s, at least one is required", getQName());
return new BaseIdentityrefType(getQName(), getUnknownSchemaNodes(), identities);
}