blob: 4c778b2d18a9461a7337df55e3e7a75f06bbda8a [file] [log] [blame]
Henry Yu4b4a7eb2016-11-09 20:07:53 -05001/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2016 Open Networking Foundation
Henry Yu4b4a7eb2016-11-09 20:07:53 -05003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.tetopology.management.api;
17
18import org.onosproject.event.AbstractEvent;
19
20/**
21 * TE topology event.
22 */
23public class TeTopologyEvent
24 extends AbstractEvent<TeTopologyEvent.Type, TeTopologyEventSubject> {
25
26 /**
27 * Type of TE topology events.
28 */
29 public enum Type {
30 /**
31 * Designates addition of a network.
32 */
33 NETWORK_ADDED,
34
35 /**
36 * Designates update of a network.
37 */
38 NETWORK_UPDATED,
39
40 /**
41 * Designates removal of a network.
42 */
43 NETWORK_REMOVED,
44
45 /**
46 * Designates addition of a network node.
47 */
48 NODE_ADDED,
49
50 /**
51 * Designates update of a network node.
52 */
53 NODE_UPDATED,
54
55 /**
56 * Designates removal of a network node.
57 */
58 NODE_REMOVED,
59
60 /**
61 * Designates addition of a termination point.
62 */
63 TP_ADDED,
64
65 /**
66 * Designates update of a termination point.
67 */
68 TP_UPDATED,
69
70 /**
71 * Designates removal of a termination point.
72 */
73 TP_REMOVED,
74
75 /**
76 * Designates addition of a network link.
77 */
78 LINK_ADDED,
79
80 /**
81 * Designates update of a network link.
82 */
83 LINK_UPDATED,
84
85 /**
86 * Designates removal of a network link.
87 */
88 LINK_REMOVED,
89
90 /**
91 * Designates addition of a TE topology.
92 */
93 TE_TOPOLOGY_ADDED,
94
95 /**
96 * Designates update of a TE topology.
97 */
98 TE_TOPOLOGY_UPDATED,
99
100 /**
101 * Designates removal of a TE topology.
102 */
103 TE_TOPOLOGY_REMOVED,
104
105 /**
106 * Designates addition of a TE node.
107 */
108 TE_NODE_ADDED,
109
110 /**
111 * Designates update of a TE node.
112 */
113 TE_NODE_UPDATED,
114
115 /**
116 * Designates removal of a TE node.
117 */
118 TE_NODE_REMOVED,
119
120 /**
121 * Designates addition of a TE link.
122 */
123 TE_LINK_ADDED,
124
125 /**
126 * Designates update of a TE link.
127 */
128 TE_LINK_UPDATED,
129
130 /**
131 * Designates removal of a TE link.
132 */
Jon Hall8c7b06a2017-02-22 13:37:33 -0800133 TE_LINK_REMOVED
Henry Yu4b4a7eb2016-11-09 20:07:53 -0500134 }
135
136 /**
137 * Constructor for TeTopologyEvent.
138 *
139 * @param type type of topology event
140 * @param subject event subject interface
141 */
142 public TeTopologyEvent(Type type, TeTopologyEventSubject subject) {
143 super(type, subject);
144 }
145
146 /**
147 * Constructor for TeTopologyEvent.
148 *
149 * @param type type of topology event
150 * @param subject event subject interface
151 * @param time event time
152 */
153 public TeTopologyEvent(Type type, TeTopologyEventSubject subject, long time) {
154 super(type, subject, time);
155 }
156
157}