Northbound support for inserting table rows
[netvirt.git] / northbound / ovsdb / src / main / java / org / opendaylight / ovsdb / northbound / OVSDBRow.java
1 package org.opendaylight.ovsdb.northbound;
2
3 import org.codehaus.jackson.annotate.JsonSubTypes;
4 import org.codehaus.jackson.annotate.JsonTypeInfo;
5 import org.opendaylight.ovsdb.lib.table.Bridge;
6 import org.opendaylight.ovsdb.lib.table.Capability;
7 import org.opendaylight.ovsdb.lib.table.Controller;
8 import org.opendaylight.ovsdb.lib.table.Interface;
9 import org.opendaylight.ovsdb.lib.table.Manager;
10 import org.opendaylight.ovsdb.lib.table.Mirror;
11 import org.opendaylight.ovsdb.lib.table.NetFlow;
12 import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
13 import org.opendaylight.ovsdb.lib.table.Port;
14 import org.opendaylight.ovsdb.lib.table.Qos;
15 import org.opendaylight.ovsdb.lib.table.Queue;
16 import org.opendaylight.ovsdb.lib.table.SFlow;
17 import org.opendaylight.ovsdb.lib.table.SSL;
18 import org.opendaylight.ovsdb.lib.table.internal.Table;
19
20 public class OVSDBRow {
21     String parent_uuid;
22     /*
23      * MINIMAL_CLASS Directive expects a leading "." character on the class name and is lame.
24      * Hence going with NAME directive even though it calls for SubTypes.
25      * Since we are using fixed table types for the Hydrogen release, this is acceptable.
26      * When we move towards Schema driven table definition, this is anyways not required.
27
28     @JsonTypeInfo(
29             use = JsonTypeInfo.Id.MINIMAL_CLASS,
30             include = JsonTypeInfo.As.PROPERTY,
31             property = "@class")
32     */
33
34     @JsonTypeInfo(
35             use = JsonTypeInfo.Id.NAME,
36             include = JsonTypeInfo.As.WRAPPER_OBJECT)
37     @JsonSubTypes({
38         @JsonSubTypes.Type(value=Bridge.class, name="Bridge"),
39         @JsonSubTypes.Type(value=Capability.class, name="Capbility"),
40         @JsonSubTypes.Type(value=Controller.class, name="Controller"),
41         @JsonSubTypes.Type(value=Interface.class, name="Interface"),
42         @JsonSubTypes.Type(value=Manager.class, name="Manager"),
43         @JsonSubTypes.Type(value=Mirror.class, name="Mirror"),
44         @JsonSubTypes.Type(value=NetFlow.class, name="NetFlow"),
45         @JsonSubTypes.Type(value=Open_vSwitch.class, name="Open_vSwitch"),
46         @JsonSubTypes.Type(value=Port.class, name="Port"),
47         @JsonSubTypes.Type(value=Qos.class, name="QoS"),
48         @JsonSubTypes.Type(value=Queue.class, name="Queue"),
49         @JsonSubTypes.Type(value=SFlow.class, name="sFlow"),
50         @JsonSubTypes.Type(value=SSL.class, name="SSL")
51         })
52     Table row;
53
54     public OVSDBRow() {
55     }
56     public String getParent_uuid() {
57         return parent_uuid;
58     }
59     public void setParent_uuid(String parent_uuid) {
60         this.parent_uuid = parent_uuid;
61     }
62     public Table getRow() {
63         return row;
64     }
65     public void setRow(Table row) {
66         this.row = row;
67     }
68 }