blob: ff3d1f33aeea8bb46184583277cd6d32b3a09171 [file] [log] [blame]
bharat saraswalf7364db2015-08-11 13:39:31 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2015-present Open Networking Foundation
bharat saraswalf7364db2015-08-11 13:39:31 +05303 *
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 */
16
17package org.onosproject.pcepio.protocol.ver1;
18
19import org.onosproject.pcepio.protocol.PcInitiatedLspRequest;
20import org.onosproject.pcepio.protocol.PcepAttribute;
21import org.onosproject.pcepio.protocol.PcepBandwidthObject;
22import org.onosproject.pcepio.protocol.PcepCloseMsg;
23import org.onosproject.pcepio.protocol.PcepEndPointsObject;
24import org.onosproject.pcepio.protocol.PcepEroObject;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053025import org.onosproject.pcepio.protocol.PcepErrorInfo;
26import org.onosproject.pcepio.protocol.PcepError;
27import org.onosproject.pcepio.protocol.PcepErrorMsg;
28import org.onosproject.pcepio.protocol.PcepErrorObject;
bharat saraswalf7364db2015-08-11 13:39:31 +053029import org.onosproject.pcepio.protocol.PcepFactory;
Priyanka Bbd455ca2016-05-05 22:13:25 +053030import org.onosproject.pcepio.protocol.PcepFecObjectIPv4.Builder;
bharat saraswale2e7a002015-08-21 22:47:30 +053031import org.onosproject.pcepio.protocol.PcepFecObjectIPv4Adjacency;
bharat saraswalf7364db2015-08-11 13:39:31 +053032import org.onosproject.pcepio.protocol.PcepInitiateMsg;
bharat saraswale2e7a002015-08-21 22:47:30 +053033import org.onosproject.pcepio.protocol.PcepIroObject;
bharat saraswalf7364db2015-08-11 13:39:31 +053034import org.onosproject.pcepio.protocol.PcepKeepaliveMsg;
bharat saraswale2e7a002015-08-21 22:47:30 +053035import org.onosproject.pcepio.protocol.PcepLabelObject;
36import org.onosproject.pcepio.protocol.PcepLabelRangeObject;
37import org.onosproject.pcepio.protocol.PcepLabelRangeResvMsg;
38import org.onosproject.pcepio.protocol.PcepLabelUpdate;
39import org.onosproject.pcepio.protocol.PcepLabelUpdateMsg;
bharat saraswalf7364db2015-08-11 13:39:31 +053040import org.onosproject.pcepio.protocol.PcepLspObject;
41import org.onosproject.pcepio.protocol.PcepLspaObject;
42import org.onosproject.pcepio.protocol.PcepMessage;
43import org.onosproject.pcepio.protocol.PcepMessageReader;
44import org.onosproject.pcepio.protocol.PcepMetricObject;
45import org.onosproject.pcepio.protocol.PcepMsgPath;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053046import org.onosproject.pcepio.protocol.PcepOpenMsg;
47import org.onosproject.pcepio.protocol.PcepOpenObject;
bharat saraswale2e7a002015-08-21 22:47:30 +053048import org.onosproject.pcepio.protocol.PcepReportMsg;
49import org.onosproject.pcepio.protocol.PcepRroObject;
bharat saraswalf7364db2015-08-11 13:39:31 +053050import org.onosproject.pcepio.protocol.PcepSrpObject;
bharat saraswale2e7a002015-08-21 22:47:30 +053051import org.onosproject.pcepio.protocol.PcepStateReport;
bharat saraswalf7364db2015-08-11 13:39:31 +053052import org.onosproject.pcepio.protocol.PcepUpdateMsg;
53import org.onosproject.pcepio.protocol.PcepUpdateRequest;
54import org.onosproject.pcepio.protocol.PcepVersion;
55
Phanendra Manda51fb9c22015-09-01 16:17:41 +053056/**
57 * Provides PCEP Factory and returns builder classes for all objects and messages.
58 */
bharat saraswalf7364db2015-08-11 13:39:31 +053059public class PcepFactoryVer1 implements PcepFactory {
60
61 public static final PcepFactoryVer1 INSTANCE = new PcepFactoryVer1();
62
63 @Override
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053064 public PcepOpenMsg.Builder buildOpenMsg() {
65 return new PcepOpenMsgVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +053066 }
67
68 @Override
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053069 public PcepOpenObject.Builder buildOpenObject() {
70 return new PcepOpenObjectVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +053071 }
72
73 @Override
74 public PcepKeepaliveMsg.Builder buildKeepaliveMsg() {
75 return new PcepKeepaliveMsgVer1.Builder();
76 }
77
78 @Override
79 public PcepCloseMsg.Builder buildCloseMsg() {
80 return new PcepCloseMsgVer1.Builder();
81 }
82
83 @Override
84 public PcepUpdateMsg.Builder buildUpdateMsg() {
85 return new PcepUpdateMsgVer1.Builder();
86 }
87
88 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +053089 public PcepReportMsg.Builder buildReportMsg() {
90 return new PcepReportMsgVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +053091 }
92
93 @Override
94 public PcepInitiateMsg.Builder buildPcepInitiateMsg() {
95 return new PcepInitiateMsgVer1.Builder();
96 }
97
98 @Override
99 public PcepLspObject.Builder buildLspObject() {
100 return new PcepLspObjectVer1.Builder();
101 }
102
103 @Override
104 public PcepMessageReader<PcepMessage> getReader() {
105 return PcepMessageVer1.READER;
106 }
107
108 @Override
109 public PcepVersion getVersion() {
110 return PcepVersion.PCEP_1;
111 }
112
113 @Override
114 public PcepSrpObject.Builder buildSrpObject() {
115 return new PcepSrpObjectVer1.Builder();
116 }
117
118 @Override
119 public PcepEndPointsObject.Builder buildEndPointsObject() {
120 return new PcepEndPointsObjectVer1.Builder();
121 }
122
123 @Override
124 public PcepEroObject.Builder buildEroObject() {
125 return new PcepEroObjectVer1.Builder();
126 }
127
128 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530129 public PcepRroObject.Builder buildRroObject() {
130 return new PcepRroObjectVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530131 }
132
133 @Override
134 public PcepLspaObject.Builder buildLspaObject() {
135 return new PcepLspaObjectVer1.Builder();
136 }
137
138 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530139 public PcepIroObject.Builder buildIroObject() {
140 return new PcepIroObjectVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530141 }
142
143 @Override
144 public PcepMetricObject.Builder buildMetricObject() {
145 return new PcepMetricObjectVer1.Builder();
146 }
147
148 @Override
149 public PcepBandwidthObject.Builder buildBandwidthObject() {
150 return new PcepBandwidthObjectVer1.Builder();
151 }
152
153 @Override
154 public PcepMsgPath.Builder buildPcepMsgPath() {
155 return new PcepMsgPathVer1.Builder();
156 }
157
158 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530159 public PcepStateReport.Builder buildPcepStateReport() {
160 return new PcepStateReportVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530161 }
162
163 @Override
164 public PcepUpdateRequest.Builder buildPcepUpdateRequest() {
165 return new PcepUpdateRequestVer1.Builder();
166 }
167
168 @Override
169 public PcInitiatedLspRequest.Builder buildPcInitiatedLspRequest() {
170 return new PcInitiatedLspRequestVer1.Builder();
171 }
172
173 @Override
174 public PcepAttribute.Builder buildPcepAttribute() {
175 return new PcepAttributeVer1.Builder();
176 }
177
178 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530179 public PcepLabelUpdateMsg.Builder buildPcepLabelUpdateMsg() {
180 return new PcepLabelUpdateMsgVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530181 }
182
183 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530184 public PcepLabelUpdate.Builder buildPcepLabelUpdateObject() {
185 return new PcepLabelUpdateVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530186 }
187
188 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530189 public PcepLabelObject.Builder buildLabelObject() {
190 return new PcepLabelObjectVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530191 }
192
193 @Override
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530194 public PcepErrorMsg.Builder buildPcepErrorMsg() {
195 return new PcepErrorMsgVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530196 }
197
198 @Override
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530199 public PcepErrorObject.Builder buildPcepErrorObject() {
200 return new PcepErrorObjectVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530201 }
202
203 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530204 public PcepFecObjectIPv4Adjacency.Builder buildFecIpv4Adjacency() {
205 return new PcepFecObjectIPv4AdjacencyVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530206 }
207
208 @Override
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530209 public PcepErrorInfo.Builder buildPcepErrorInfo() {
210 return new PcepErrorInfoVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530211 }
212
213 @Override
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530214 public PcepError.Builder buildPcepError() {
215 return new PcepErrorVer1.Builder();
bharat saraswalf7364db2015-08-11 13:39:31 +0530216 }
217
bharat saraswale1806302015-08-21 12:16:46 +0530218 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530219 public PcepLabelRangeObject.Builder buildPcepLabelRangeObject() {
220 return new PcepLabelRangeObjectVer1.Builder();
bharat saraswale1806302015-08-21 12:16:46 +0530221 }
222
223 @Override
bharat saraswale2e7a002015-08-21 22:47:30 +0530224 public PcepLabelRangeResvMsg.Builder buildPcepLabelRangeResvMsg() {
225 return new PcepLabelRangeResvMsgVer1.Builder();
bharat saraswale1806302015-08-21 12:16:46 +0530226 }
Priyanka Bbd455ca2016-05-05 22:13:25 +0530227
228 @Override
229 public Builder buildFecObjectIpv4() {
230 return new PcepFecObjectIPv4Ver1.Builder();
231 }
bharat saraswalf7364db2015-08-11 13:39:31 +0530232}