import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.concepts.AbstractSimpleIdentifiable;
import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadata;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
* Immutable implementation of {@link NormalizedMetadata}.
*/
@Beta
-public class ImmutableNormalizedMetadata implements NormalizedMetadata {
+public class ImmutableNormalizedMetadata extends AbstractSimpleIdentifiable<PathArgument>
+ implements NormalizedMetadata {
private static final class Container extends ImmutableNormalizedMetadata {
- private final ImmutableMap<PathArgument, ImmutableNormalizedMetadata> children;
+ private final @NonNull ImmutableMap<PathArgument, NormalizedMetadata> children;
Container(final PathArgument identifier, final Map<QName, Object> annotations,
final Map<PathArgument, ImmutableNormalizedMetadata> children) {
}
@Override
- public Optional<NormalizedMetadata> getChild(final PathArgument child) {
- return Optional.ofNullable(children.get(requireNonNull(child)));
+ public ImmutableMap<PathArgument, NormalizedMetadata> getChildren() {
+ return children;
}
}
- private final @NonNull PathArgument identifier;
private final @NonNull ImmutableMap<QName, Object> annotations;
- ImmutableNormalizedMetadata(final PathArgument identifier, final Map<QName, Object> annotations) {
- this.identifier = requireNonNull(identifier);
+ ImmutableNormalizedMetadata(final @NonNull PathArgument identifier, final Map<QName, Object> annotations) {
+ super(identifier);
this.annotations = ImmutableMap.copyOf(annotations);
}
return new Builder();
}
- @Override
- public final PathArgument getIdentifier() {
- return identifier;
- }
-
@Override
public final ImmutableMap<QName, Object> getAnnotations() {
return annotations;