blob: 3005c60e0c6d14524897b4181ef9462e2d0f3b36 [file] [log] [blame]
HIGUCHI Yuta20514902013-06-12 11:24:16 -07001package net.onrc.onos.ofcontroller.core;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08002
HIGUCHI Yuta60a10142013-06-14 15:50:10 -07003import net.onrc.onos.ofcontroller.flowmanager.web.DatapathSummarySerializer;
Jonathan Hart01f2d272013-04-04 20:03:46 -07004
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08005import org.codehaus.jackson.annotate.JsonIgnore;
6import org.codehaus.jackson.annotate.JsonProperty;
Jonathan Hart01f2d272013-04-04 20:03:46 -07007import org.codehaus.jackson.map.annotate.JsonSerialize;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08008
9import com.tinkerpop.blueprints.Direction;
10import com.tinkerpop.frames.Adjacency;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080011import com.tinkerpop.frames.Property;
12import com.tinkerpop.frames.annotations.gremlin.GremlinGroovy;
Pankaj Berdef2f2f032013-06-10 21:08:14 -070013import com.tinkerpop.frames.annotations.gremlin.GremlinParam;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080014import com.tinkerpop.frames.VertexFrame;
15
Teru68076a42013-06-27 14:57:49 -070016/*
17 * This is the interfaces to make the objects for Cassandra DB.
18 * They are interfaces, but it is also implementation,
19 * so this handles various control to the objects.
20 * Please take a look at tinkerpop/frames annotation doc to understand more.
21 */
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080022public interface INetMapTopologyObjects {
23
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080024 public interface IBaseObject extends VertexFrame {
25
26 @JsonProperty("state")
27 @Property("state")
28 public String getState();
29
30 @Property("state")
31 public void setState(final String state);
32
33 @JsonIgnore
34 @Property("type")
35 public String getType();
36 @Property("type")
37 public void setType(final String type);
38
39 }
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080040
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080041 public interface ISwitchObject extends IBaseObject{
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080042
43 @JsonProperty("dpid")
44 @Property("dpid")
45 public String getDPID();
46
47 @Property("dpid")
48 public void setDPID(String dpid);
49
50 @JsonProperty("ports")
51 @Adjacency(label="on")
52 public Iterable<IPortObject> getPorts();
Pankaj Berde62016142013-04-09 15:35:50 -070053
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080054 // Requires Frames 2.3.0
Pankaj Berdef2f2f032013-06-10 21:08:14 -070055 @JsonIgnore
Toshio Koide46dec822013-06-17 14:21:16 -070056 @GremlinGroovy("it.out('on').has('number',port_num)")
Pankaj Berdef2f2f032013-06-10 21:08:14 -070057 public IPortObject getPort(@GremlinParam("port_num") final short port_num);
Pankaj Berdeda809572013-02-22 15:31:20 -080058
59 @Adjacency(label="on")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080060 public void addPort(final IPortObject port);
61
62 @Adjacency(label="on")
63 public void removePort(final IPortObject port);
64
65 @JsonIgnore
Toshio Koide46dec822013-06-17 14:21:16 -070066 @GremlinGroovy("it.out('on').out('host')")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080067 public Iterable<IDeviceObject> getDevices();
Pankaj Berded0079742013-03-27 17:53:25 -070068
69 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -070070 @Adjacency(label="switch",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -070071 public Iterable<IFlowEntry> getFlowEntries();
Pankaj Berdef2f2f032013-06-10 21:08:14 -070072
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080073 }
74
75 public interface IPortObject extends IBaseObject{
76
77 @JsonProperty("number")
78 @Property("number")
79 public Short getNumber();
80
Pankaj Berdebbd38612013-06-22 05:59:12 -070081 @JsonIgnore
82 @Property("port_id")
83 public void setPortId(String id);
84
85 @JsonIgnore
86 @Property("port_id")
87 public String getPortId();
88
Pankaj Berde15193092013-03-21 17:30:14 -070089 @Property("number")
90 public void setNumber(Short n);
91
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080092 @JsonProperty("desc")
93 @Property("desc")
94 public String getDesc();
95
Pankaj Berde15193092013-03-21 17:30:14 -070096 @Property("desc")
97 public void setDesc(String s);
98
99 @JsonIgnore
Pankaj Berdef1404a72013-04-03 11:50:07 -0700100 @Property("port_state")
Pankaj Berde15193092013-03-21 17:30:14 -0700101 public Integer getPortState();
102
103 @Property("port_state")
104 public void setPortState(Integer s);
105
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800106 @JsonIgnore
Teru87cd2da2013-06-15 20:33:08 -0700107 @Adjacency(label="on",direction = Direction.IN)
Teru80f75132013-06-16 05:16:32 -0700108 public ISwitchObject getSwitch();
Pankaj Berdea6b80c32013-03-29 09:02:56 -0700109
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800110 @JsonProperty("devices")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800111 @Adjacency(label="host")
112 public Iterable<IDeviceObject> getDevices();
113
114 @Adjacency(label="host")
115 public void setDevice(final IDeviceObject device);
116
117 @Adjacency(label="host")
118 public void removeDevice(final IDeviceObject device);
119
Jonathan Hartcc1eb8a2013-12-05 11:34:27 -0800120 /*
Pankaj Berded0079742013-03-27 17:53:25 -0700121 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700122 @Adjacency(label="inport",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -0700123 public Iterable<IFlowEntry> getInFlowEntries();
124
125 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700126 @Adjacency(label="outport",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -0700127 public Iterable<IFlowEntry> getOutFlowEntries();
Jonathan Hartcc1eb8a2013-12-05 11:34:27 -0800128 */
Pankaj Berded0079742013-03-27 17:53:25 -0700129
Pankaj Berde5fb27632013-04-05 08:56:12 -0700130 @JsonIgnore
131 @Adjacency(label="link")
132 public Iterable<IPortObject> getLinkedPorts();
Pavlin Radoslavovc934b4a2013-11-02 14:53:52 -0700133
134 @JsonIgnore
135 @Adjacency(label="link",direction = Direction.IN)
136 public Iterable<IPortObject> getReverseLinkedPorts();
Pankaj Berde5fb27632013-04-05 08:56:12 -0700137
Pankaj Berdea6b80c32013-03-29 09:02:56 -0700138 @Adjacency(label="link")
139 public void removeLink(final IPortObject dest_port);
140
Pankaj Berde5fb27632013-04-05 08:56:12 -0700141 @Adjacency(label="link")
142 public void setLinkPort(final IPortObject dest_port);
143
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800144 // @JsonIgnore
145 // @Adjacency(label="link")
146 // public Iterable<ILinkObject> getLinks();
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800147 }
148
149 public interface IDeviceObject extends IBaseObject {
150
151 @JsonProperty("mac")
152 @Property("dl_addr")
153 public String getMACAddress();
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800154
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800155 @Property("dl_addr")
Pankaj Berde2497e542013-02-19 18:51:24 -0800156 public void setMACAddress(String macaddr);
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800157
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800158 @JsonIgnore
Teru87cd2da2013-06-15 20:33:08 -0700159 @Adjacency(label="host",direction = Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800160 public Iterable<IPortObject> getAttachedPorts();
161
162 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700163 @Adjacency(label="host",direction=Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800164 public void setHostPort(final IPortObject port);
165
166 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700167 @Adjacency(label="host",direction=Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800168 public void removeHostPort(final IPortObject port);
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800169
170 @JsonIgnore
Toshio Koide13260102013-06-17 13:44:27 -0700171 @GremlinGroovy("it.in('host').in('on')")
Pankaj Berde2497e542013-02-19 18:51:24 -0800172 public Iterable<ISwitchObject> getSwitch();
173
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700174 //
175 // IPv4 Addresses
176 //
177 @JsonProperty("ipv4addresses")
178 @Adjacency(label="hasAddress")
179 public Iterable<IIpv4Address> getIpv4Addresses();
180
181 @JsonIgnore
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800182 @GremlinGroovy("it.out('hasAddress').has('ipv4_address', ipv4Address)")
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700183 public IIpv4Address getIpv4Address(@GremlinParam("ipv4Address") final int ipv4Address);
184
185 @Adjacency(label="hasAddress")
186 public void addIpv4Address(final IIpv4Address ipv4Address);
187
188 @Adjacency(label="hasAddress")
189 public void removeIpv4Address(final IIpv4Address ipv4Address);
190
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800191/* @JsonProperty("dpid")
192 @GremlinGroovy("_().in('host').in('on').next().getProperty('dpid')")
193 public Iterable<String> getSwitchDPID();
194
195 @JsonProperty("number")
196 @GremlinGroovy("_().in('host').transform{it.number}")
197 public Iterable<Short> getPortNumber();
198
Pankaj Berde2497e542013-02-19 18:51:24 -0800199 @JsonProperty("AttachmentPoint")
200 @GremlinGroovy("_().in('host').in('on').path(){it.number}{it.dpid}")
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800201 public Iterable<SwitchPort> getAttachmentPoints();*/
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800202 }
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700203
204 public interface IIpv4Address extends IBaseObject {
205
206 @JsonProperty("ipv4")
207 @Property("ipv4_address")
208 public int getIpv4Address();
209
210 @Property("ipv4_address")
211 public void setIpv4Address(int ipv4Address);
212
213 @JsonIgnore
214 @GremlinGroovy("it.in('hasAddress')")
215 public IDeviceObject getDevice();
216 }
217
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800218 public interface IFlowPath extends IBaseObject {
Jonathan Hart01f2d272013-04-04 20:03:46 -0700219 @JsonProperty("flowId")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800220 @Property("flow_id")
221 public String getFlowId();
222
223 @Property("flow_id")
224 public void setFlowId(String flowId);
225
Jonathan Hart01f2d272013-04-04 20:03:46 -0700226 @JsonProperty("installerId")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800227 @Property("installer_id")
228 public String getInstallerId();
229
230 @Property("installer_id")
231 public void setInstallerId(String installerId);
232
Pavlin Radoslavovd28cf7c2013-10-26 11:27:43 -0700233 @JsonProperty("flowPathType")
234 @Property("flow_path_type")
235 public String getFlowPathType();
236
237 @Property("flow_path_type")
238 public void setFlowPathType(String flowPathType);
239
Pavlin Radoslavov7d4a40e2013-10-27 23:39:40 -0700240 @JsonProperty("flowPathUserState")
241 @Property("user_state")
242 public String getFlowPathUserState();
243
244 @Property("user_state")
245 public void setFlowPathUserState(String userState);
246
Pavlin Radoslavov204b2862013-07-12 14:15:36 -0700247 @JsonProperty("flowPathFlags")
248 @Property("flow_path_flags")
249 public Long getFlowPathFlags();
250
251 @Property("flow_path_flags")
252 public void setFlowPathFlags(Long flowPathFlags);
253
Jonathan Hart01f2d272013-04-04 20:03:46 -0700254 @JsonProperty("srcDpid")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800255 @Property("src_switch")
256 public String getSrcSwitch();
257
258 @Property("src_switch")
259 public void setSrcSwitch(String srcSwitch);
260
Jonathan Hart01f2d272013-04-04 20:03:46 -0700261 @JsonProperty("srcPort")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800262 @Property("src_port")
263 public Short getSrcPort();
264
265 @Property("src_port")
266 public void setSrcPort(Short srcPort);
267
Jonathan Hart01f2d272013-04-04 20:03:46 -0700268 @JsonProperty("dstDpid")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800269 @Property("dst_switch")
270 public String getDstSwitch();
271
272 @Property("dst_switch")
273 public void setDstSwitch(String dstSwitch);
274
Jonathan Hart01f2d272013-04-04 20:03:46 -0700275 @JsonProperty("dstPort")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800276 @Property("dst_port")
277 public Short getDstPort();
278
279 @Property("dst_port")
280 public void setDstPort(Short dstPort);
281
Jonathan Hart01f2d272013-04-04 20:03:46 -0700282 @JsonProperty("dataPath")
283 @JsonSerialize(using=DatapathSummarySerializer.class)
Pavlin Radoslavovdbaaf2e2013-03-29 04:25:55 -0700284 @Property("data_path_summary")
285 public String getDataPathSummary();
286
287 @Property("data_path_summary")
288 public void setDataPathSummary(String dataPathSummary);
289
Jonathan Hart01f2d272013-04-04 20:03:46 -0700290 @JsonIgnore
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800291 @Adjacency(label="flow", direction=Direction.IN)
292 public Iterable<IFlowEntry> getFlowEntries();
293
294 @Adjacency(label="flow", direction=Direction.IN)
295 public void addFlowEntry(final IFlowEntry flowEntry);
296
297 @Adjacency(label="flow", direction=Direction.IN)
298 public void removeFlowEntry(final IFlowEntry flowEntry);
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700299
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700300 //
301 // Matching fields
302 //
Jonathan Hart01f2d272013-04-04 20:03:46 -0700303 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700304 @Property("matchSrcMac")
305 public String getMatchSrcMac();
306
307 @Property("matchSrcMac")
308 public void setMatchSrcMac(String matchSrcMac);
309
Jonathan Hart01f2d272013-04-04 20:03:46 -0700310 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700311 @Property("matchDstMac")
312 public String getMatchDstMac();
313
314 @Property("matchDstMac")
315 public void setMatchDstMac(String matchDstMac);
316
Jonathan Hart01f2d272013-04-04 20:03:46 -0700317 @JsonIgnore
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700318 @Property("matchEthernetFrameType")
319 public Short getMatchEthernetFrameType();
320
321 @Property("matchEthernetFrameType")
322 public void setMatchEthernetFrameType(Short matchEthernetFrameType);
323
324 @JsonIgnore
325 @Property("matchVlanId")
326 public Short getMatchVlanId();
327
328 @Property("matchVlanId")
329 public void setMatchVlanId(Short matchVlanId);
330
331 @JsonIgnore
332 @Property("matchVlanPriority")
333 public Byte getMatchVlanPriority();
334
335 @Property("matchVlanPriority")
336 public void setMatchVlanPriority(Byte matchVlanPriority);
337
338 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700339 @Property("matchSrcIPv4Net")
340 public String getMatchSrcIPv4Net();
341
342 @Property("matchSrcIPv4Net")
343 public void setMatchSrcIPv4Net(String matchSrcIPv4Net);
344
Jonathan Hart01f2d272013-04-04 20:03:46 -0700345 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700346 @Property("matchDstIPv4Net")
347 public String getMatchDstIPv4Net();
348
349 @Property("matchDstIPv4Net")
350 public void setMatchDstIPv4Net(String matchDstIPv4Net);
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700351
352 @JsonIgnore
353 @Property("matchIpProto")
354 public Byte getMatchIpProto();
355
356 @Property("matchIpProto")
357 public void setMatchIpProto(Byte matchIpProto);
358
359 @JsonIgnore
360 @Property("matchIpToS")
361 public Byte getMatchIpToS();
362
363 @Property("matchIpToS")
364 public void setMatchIpToS(Byte matchIpToS);
365
366 @JsonIgnore
367 @Property("matchSrcTcpUdpPort")
368 public Short getMatchSrcTcpUdpPort();
369
370 @Property("matchSrcTcpUdpPort")
371 public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
372
373 @JsonIgnore
374 @Property("matchDstTcpUdpPort")
375 public Short getMatchDstTcpUdpPort();
376
377 @Property("matchDstTcpUdpPort")
378 public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
379
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700380 //
381 // Action-related fields
382 //
383 @Property("actions")
384 public String getActions();
385
386 @Property("actions")
387 public void setActions(String actionsStr);
388
389 //
390 // Other fields
391 //
Pankaj Berded0079742013-03-27 17:53:25 -0700392 @JsonIgnore
Toshio Koide13260102013-06-17 13:44:27 -0700393 @GremlinGroovy("it.in('flow').out('switch')")
Pankaj Berdef1404a72013-04-03 11:50:07 -0700394 public Iterable<ISwitchObject> getSwitches();
Jonathan Hart01f2d272013-04-04 20:03:46 -0700395
396 @JsonIgnore
397 @Property("state")
398 public String getState();
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800399 }
400
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800401 public interface IFlowEntry extends IBaseObject {
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800402 @Property("flow_entry_id")
403 public String getFlowEntryId();
404
405 @Property("flow_entry_id")
406 public void setFlowEntryId(String flowEntryId);
407
408 @Property("switch_dpid")
409 public String getSwitchDpid();
410
411 @Property("switch_dpid")
412 public void setSwitchDpid(String switchDpid);
413
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800414 @Property("user_state")
415 public String getUserState();
416
417 @Property("user_state")
418 public void setUserState(String userState);
419
420 @Property("switch_state")
421 public String getSwitchState();
422
423 @Property("switch_state")
424 public void setSwitchState(String switchState);
425
426 @Property("error_state_type")
427 public String getErrorStateType();
428
429 @Property("error_state_type")
430 public void setErrorStateType(String errorStateType);
431
432 @Property("error_state_code")
433 public String getErrorStateCode();
434
435 @Property("error_state_code")
436 public void setErrorStateCode(String errorStateCode);
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700437
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700438 //
439 // Matching fields
440 //
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700441 @Property("matchInPort")
442 public Short getMatchInPort();
443
444 @Property("matchInPort")
445 public void setMatchInPort(Short matchInPort);
446
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700447 @Property("matchSrcMac")
448 public String getMatchSrcMac();
449
450 @Property("matchSrcMac")
451 public void setMatchSrcMac(String matchSrcMac);
452
453 @Property("matchDstMac")
454 public String getMatchDstMac();
455
456 @Property("matchDstMac")
457 public void setMatchDstMac(String matchDstMac);
458
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700459 @Property("matchEthernetFrameType")
460 public Short getMatchEthernetFrameType();
461
462 @Property("matchEthernetFrameType")
463 public void setMatchEthernetFrameType(Short matchEthernetFrameType);
464
465 @Property("matchVlanId")
466 public Short getMatchVlanId();
467
468 @Property("matchVlanId")
469 public void setMatchVlanId(Short matchVlanId);
470
471 @Property("matchVlanPriority")
472 public Byte getMatchVlanPriority();
473
474 @Property("matchVlanPriority")
475 public void setMatchVlanPriority(Byte matchVlanPriority);
476
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700477 @Property("matchSrcIPv4Net")
478 public String getMatchSrcIPv4Net();
479
480 @Property("matchSrcIPv4Net")
481 public void setMatchSrcIPv4Net(String matchSrcIPv4Net);
482
483 @Property("matchDstIPv4Net")
484 public String getMatchDstIPv4Net();
485
486 @Property("matchDstIPv4Net")
487 public void setMatchDstIPv4Net(String matchDstIPv4Net);
488
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700489 @Property("matchIpProto")
490 public Byte getMatchIpProto();
491
492 @Property("matchIpProto")
493 public void setMatchIpProto(Byte matchIpProto);
494
495 @Property("matchIpToS")
496 public Byte getMatchIpToS();
497
498 @Property("matchIpToS")
499 public void setMatchIpToS(Byte matchIpToS);
500
501 @Property("matchSrcTcpUdpPort")
502 public Short getMatchSrcTcpUdpPort();
503
504 @Property("matchSrcTcpUdpPort")
505 public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
506
507 @Property("matchDstTcpUdpPort")
508 public Short getMatchDstTcpUdpPort();
509
510 @Property("matchDstTcpUdpPort")
511 public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
512
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700513 //
514 // Action-related fields
515 //
Pavlin Radoslavovc1bafd12013-07-12 17:00:35 -0700516 @Property("actionOutputPort")
517 public Short getActionOutputPort();
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700518
Pavlin Radoslavovc1bafd12013-07-12 17:00:35 -0700519 @Property("actionOutputPort")
520 public void setActionOutputPort(Short actionOutputPort);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700521
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700522 @Property("actions")
523 public String getActions();
524
525 @Property("actions")
526 public void setActions(String actionsStr);
527
528 //
529 // Other fields
530 //
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700531 @Adjacency(label="flow")
532 public IFlowPath getFlow();
533
534 @Adjacency(label="flow")
535 public void setFlow(IFlowPath flow);
536
Pankaj Berded0079742013-03-27 17:53:25 -0700537 @Adjacency(label="switch")
538 public ISwitchObject getSwitch();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700539
Pankaj Berded0079742013-03-27 17:53:25 -0700540 @Adjacency(label="switch")
541 public void setSwitch(ISwitchObject sw);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700542
Jonathan Hartcc1eb8a2013-12-05 11:34:27 -0800543 /*
Pankaj Berded0079742013-03-27 17:53:25 -0700544 @Adjacency(label="inport")
545 public IPortObject getInPort();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700546
Pankaj Berded0079742013-03-27 17:53:25 -0700547 @Adjacency(label="inport")
548 public void setInPort(IPortObject port);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700549
Pankaj Berded0079742013-03-27 17:53:25 -0700550 @Adjacency(label="outport")
551 public IPortObject getOutPort();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700552
Pavlin Radoslavov4fead9c2013-03-28 03:09:27 -0700553 @Adjacency(label="outport")
Pankaj Berded0079742013-03-27 17:53:25 -0700554 public void setOutPort(IPortObject port);
Jonathan Hartcc1eb8a2013-12-05 11:34:27 -0800555 */
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800556 }
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800557}