blob: f6d7f8adf72c36db4d68317a467c29fa8c0da8e1 [file] [log] [blame]
Toshio Koide025a9152014-07-21 11:00:34 -07001package net.onrc.onos.api.flowmanager;
2
Toshio Koide515ba842014-08-20 11:53:37 -07003import java.util.Objects;
4
Toshio Koidefad1cd52014-08-07 17:10:07 -07005import net.onrc.onos.api.batchoperation.BatchOperationTarget;
Toshio Koide025a9152014-07-21 11:00:34 -07006
7/**
Toshio Koide7894ca02014-08-15 14:30:13 -07008 * Represents ID for Flow objects.
Toshio Koide025a9152014-07-21 11:00:34 -07009 */
Toshio Koidefad1cd52014-08-07 17:10:07 -070010public class FlowId implements BatchOperationTarget {
Toshio Koide515ba842014-08-20 11:53:37 -070011 private final long value;
Toshio Koide025a9152014-07-21 11:00:34 -070012
13 /**
14 * Creates new instance with string ID.
Toshio Koide515ba842014-08-20 11:53:37 -070015 * <p>
16 * This FlowId instance should be generated with {@link FlowIdGenerator}.
Toshio Koide025a9152014-07-21 11:00:34 -070017 *
18 * @param id String representation of the ID.
19 */
Toshio Koide515ba842014-08-20 11:53:37 -070020 public FlowId(long id) {
Toshio Koide025a9152014-07-21 11:00:34 -070021 value = id;
22 }
23
24 @Override
25 public String toString() {
Toshio Koide515ba842014-08-20 11:53:37 -070026 return Long.toString(value);
Toshio Koide025a9152014-07-21 11:00:34 -070027 }
28
29 @Override
30 public int hashCode() {
Toshio Koide515ba842014-08-20 11:53:37 -070031 return Objects.hashCode(value);
Toshio Koide025a9152014-07-21 11:00:34 -070032 }
33
34 @Override
35 public boolean equals(Object obj) {
36 if (obj instanceof FlowId) {
Toshio Koide515ba842014-08-20 11:53:37 -070037 FlowId that = (FlowId) obj;
38 return Objects.equals(this.value, that.value);
Toshio Koide025a9152014-07-21 11:00:34 -070039 }
40 return false;
41 }
42}