import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
import org.opendaylight.yangtools.yang.model.api.AugmentationTarget;
import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
*
* @param <T> Type of the container node
*/
-abstract class AbstractDataNodeContainerModificationStrategy<T extends DataNodeContainer>
+class DataNodeContainerModificationStrategy<T extends DataNodeContainer>
extends AbstractNodeContainerModificationStrategy {
- private static final Logger LOG = LoggerFactory.getLogger(AbstractDataNodeContainerModificationStrategy.class);
+ private static final Logger LOG = LoggerFactory.getLogger(DataNodeContainerModificationStrategy.class);
+
private final LoadingCache<PathArgument, ModificationApplyOperation> childCache = CacheBuilder.newBuilder()
.build(new CacheLoader<PathArgument, ModificationApplyOperation>() {
@Override
return SchemaAwareApplyOperation.from(child, treeConfig);
}
});
- private final T schema;
- private final DataTreeConfiguration treeConfig;
- protected AbstractDataNodeContainerModificationStrategy(final T schema,
- final Class<? extends NormalizedNode<?, ?>> nodeClass, final DataTreeConfiguration treeConfig) {
- super(nodeClass, treeConfig);
- this.schema = requireNonNull(schema,"schema");
- this.treeConfig = requireNonNull(treeConfig,"treeConfig");
- }
+ private final DataTreeConfiguration treeConfig;
+ private final T schema;
- protected final T getSchema() {
- return schema;
+ DataNodeContainerModificationStrategy(final NormalizedNodeContainerSupport<?, ?> support, final T schema,
+ final DataTreeConfiguration treeConfig) {
+ super(support, treeConfig);
+ this.schema = requireNonNull(schema, "schema");
+ this.treeConfig = requireNonNull(treeConfig, "treeConfig");
}
@Override
}
@Override
- @SuppressWarnings("rawtypes")
- protected abstract DataContainerNodeBuilder createBuilder(NormalizedNode<?, ?> original);
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + " [" + schema + "]";
+ ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+ return super.addToStringAttributes(helper).add("schema", schema);
}
}