*/
package org.opendaylight.controller.cluster.datastore;
-import static java.util.Objects.requireNonNull;
-
-import com.google.common.annotations.VisibleForTesting;
-import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
+import java.util.Map;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
/**
- * Factory for creating DatastoreContextIntrospector instances.
+ * Factory for creating {@link DatastoreContextIntrospector} instances.
*
* @author Thomas Pantelis
*/
-public class DatastoreContextIntrospectorFactory {
- private final BindingNormalizedNodeSerializer serializer;
-
- public DatastoreContextIntrospectorFactory(final BindingNormalizedNodeSerializer serializer) {
- this.serializer = requireNonNull(serializer);
- }
-
- public DatastoreContextIntrospector newInstance(final LogicalDatastoreType datastoreType) {
- return newInstance(DatastoreContext.newBuilder()
- .logicalStoreType(datastoreType)
- .tempFileDirectory("./data")
- .build());
- }
-
- @VisibleForTesting
- DatastoreContextIntrospector newInstance(final DatastoreContext context) {
- return new DatastoreContextIntrospector(context, serializer);
- }
+@NonNullByDefault
+public interface DatastoreContextIntrospectorFactory {
+ /**
+ * Create a new {@link DatastoreContextIntrospector} initialized with specified properties.
+ *
+ * @param datastoreType Datastore type
+ * @param properties optional initial properties
+ * @return A new DatastoreContextIntrospector
+ */
+ DatastoreContextIntrospector newInstance(LogicalDatastoreType datastoreType,
+ @Nullable Map<String, Object> properties);
}