diff --git a/core/api/src/main/java/org/onosproject/net/flow/BatchOperationEntry.java b/core/api/src/main/java/org/onosproject/net/flow/BatchOperationEntry.java
index b5ad2ef..fc24775 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/BatchOperationEntry.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/BatchOperationEntry.java
@@ -27,7 +27,7 @@
  * This is the interface to classes which are maintained by BatchOperation as
  * its entries.
  */
-public class BatchOperationEntry<T extends Enum<?>, U extends BatchOperationTarget> {
+public class BatchOperationEntry<T extends Enum<?>, U> {
 
     private final T operator;
     private final U target;
diff --git a/core/api/src/main/java/org/onosproject/net/flow/BatchOperationTarget.java b/core/api/src/main/java/org/onosproject/net/flow/BatchOperationTarget.java
deleted file mode 100644
index c9b20ef..0000000
--- a/core/api/src/main/java/org/onosproject/net/flow/BatchOperationTarget.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.net.flow;
-
-/**
- * An interface of the class which is assigned to BatchOperation.
- */
-public interface BatchOperationTarget {
-
-}
diff --git a/core/api/src/main/java/org/onosproject/net/flow/FlowRule.java b/core/api/src/main/java/org/onosproject/net/flow/FlowRule.java
index 2c3185e..0a13d40 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/FlowRule.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/FlowRule.java
@@ -22,7 +22,7 @@
  * Represents a generalized match &amp; action pair to be applied to
  * an infrastructure device.
  */
-public interface FlowRule extends BatchOperationTarget {
+public interface FlowRule {
 
     static final int MAX_TIMEOUT = 60;
     static final int MIN_PRIORITY = 0;
diff --git a/core/api/src/main/java/org/onosproject/net/intent/Intent.java b/core/api/src/main/java/org/onosproject/net/intent/Intent.java
index 6043995..e44690b 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/Intent.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/Intent.java
@@ -18,7 +18,6 @@
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.IdGenerator;
 import org.onosproject.net.NetworkResource;
-import org.onosproject.net.flow.BatchOperationTarget;
 
 import java.util.Collection;
 import java.util.Objects;
@@ -32,7 +31,7 @@
  * Make sure that an Intent should be immutable when a new type is defined.
  * </p>
  */
-public abstract class Intent implements BatchOperationTarget {
+public abstract class Intent {
 
     private final IntentId id;
     private final ApplicationId appId;
diff --git a/core/api/src/test/java/org/onosproject/net/flow/BatchOperationTest.java b/core/api/src/test/java/org/onosproject/net/flow/BatchOperationTest.java
index b767027..1395b8c 100644
--- a/core/api/src/test/java/org/onosproject/net/flow/BatchOperationTest.java
+++ b/core/api/src/test/java/org/onosproject/net/flow/BatchOperationTest.java
@@ -43,7 +43,7 @@
     final TestEntry entry2 = new TestEntry(TestType.OP2, new TestTarget(2));
 
 
-    private static final class TestTarget implements BatchOperationTarget {
+    private static final class TestTarget {
         private int id;
 
         private TestTarget(int id) {
