*/
package org.opendaylight.yangtools.yang.model.util;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
+import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
+import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
* Proxy for AugmentationSchema. Child node schemas are replaced with actual schemas from parent.
*
*/
-public final class EffectiveAugmentationSchema implements AugmentationSchema {
- private final AugmentationSchema delegate;
+public final class EffectiveAugmentationSchema implements AugmentationSchemaNode {
+ private final AugmentationSchemaNode delegate;
private final Set<DataSchemaNode> realChildSchemas;
private final Map<QName, DataSchemaNode> mappedChildSchemas;
- public EffectiveAugmentationSchema(final AugmentationSchema augmentSchema,
+ public EffectiveAugmentationSchema(final AugmentationSchemaNode augmentSchema,
final Set<DataSchemaNode> realChildSchemas) {
- this.delegate = Preconditions.checkNotNull(augmentSchema);
+ this.delegate = requireNonNull(augmentSchema);
this.realChildSchemas = ImmutableSet.copyOf(realChildSchemas);
final Map<QName, DataSchemaNode> m = new HashMap<>(realChildSchemas.size());
}
@Override
- public RevisionAwareXPath getWhenCondition() {
+ public Optional<RevisionAwareXPath> getWhenCondition() {
return delegate.getWhenCondition();
}
}
@Override
- public DataSchemaNode getDataChildByName(final QName name) {
- return mappedChildSchemas.get(name);
+ public Optional<DataSchemaNode> findDataChildByName(final QName name) {
+ return Optional.ofNullable(mappedChildSchemas.get(requireNonNull(name)));
}
@Override
}
@Override
- public Optional<AugmentationSchema> getOriginalDefinition() {
+ public Optional<AugmentationSchemaNode> getOriginalDefinition() {
return delegate.getOriginalDefinition();
}
+
+ @Override
+ public Set<ActionDefinition> getActions() {
+ return delegate.getActions();
+ }
}