6b5d450ae34afbec66840856ed0ee16416233915
[onosfw.git] /
1 /*
2  * Copyright 2015 Open Networking Laboratory
3  *
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
17 package org.onosproject.pcepio.protocol.ver1;
18
19 import org.onosproject.pcepio.protocol.PcInitiatedLspRequest;
20 import org.onosproject.pcepio.protocol.PcepAttribute;
21 import org.onosproject.pcepio.protocol.PcepBandwidthObject;
22 import org.onosproject.pcepio.protocol.PcepCloseMsg;
23 import org.onosproject.pcepio.protocol.PcepEndPointsObject;
24 import org.onosproject.pcepio.protocol.PcepEroObject;
25 import org.onosproject.pcepio.protocol.PcepErrorInfo;
26 import org.onosproject.pcepio.protocol.PcepError;
27 import org.onosproject.pcepio.protocol.PcepErrorMsg;
28 import org.onosproject.pcepio.protocol.PcepErrorObject;
29 import org.onosproject.pcepio.protocol.PcepFactory;
30 import org.onosproject.pcepio.protocol.PcepFecObjectIPv4Adjacency;
31 import org.onosproject.pcepio.protocol.PcepInitiateMsg;
32 import org.onosproject.pcepio.protocol.PcepIroObject;
33 import org.onosproject.pcepio.protocol.PcepKeepaliveMsg;
34 import org.onosproject.pcepio.protocol.PcepLabelObject;
35 import org.onosproject.pcepio.protocol.PcepLabelRangeObject;
36 import org.onosproject.pcepio.protocol.PcepLabelRangeResvMsg;
37 import org.onosproject.pcepio.protocol.PcepLabelUpdate;
38 import org.onosproject.pcepio.protocol.PcepLabelUpdateMsg;
39 import org.onosproject.pcepio.protocol.PcepLspObject;
40 import org.onosproject.pcepio.protocol.PcepLspaObject;
41 import org.onosproject.pcepio.protocol.PcepMessage;
42 import org.onosproject.pcepio.protocol.PcepMessageReader;
43 import org.onosproject.pcepio.protocol.PcepMetricObject;
44 import org.onosproject.pcepio.protocol.PcepMsgPath;
45 import org.onosproject.pcepio.protocol.PcepOpenMsg;
46 import org.onosproject.pcepio.protocol.PcepOpenObject;
47 import org.onosproject.pcepio.protocol.PcepReportMsg;
48 import org.onosproject.pcepio.protocol.PcepRroObject;
49 import org.onosproject.pcepio.protocol.PcepSrpObject;
50 import org.onosproject.pcepio.protocol.PcepStateReport;
51 import org.onosproject.pcepio.protocol.PcepUpdateMsg;
52 import org.onosproject.pcepio.protocol.PcepUpdateRequest;
53 import org.onosproject.pcepio.protocol.PcepVersion;
54
55 /**
56  * Provides PCEP Factory and returns builder classes for all objects and messages.
57  */
58 public class PcepFactoryVer1 implements PcepFactory {
59
60     public static final PcepFactoryVer1 INSTANCE = new PcepFactoryVer1();
61
62     @Override
63     public PcepOpenMsg.Builder buildOpenMsg() {
64         return new PcepOpenMsgVer1.Builder();
65     }
66
67     @Override
68     public PcepOpenObject.Builder buildOpenObject() {
69         return new PcepOpenObjectVer1.Builder();
70     }
71
72     @Override
73     public PcepKeepaliveMsg.Builder buildKeepaliveMsg() {
74         return new PcepKeepaliveMsgVer1.Builder();
75     }
76
77     @Override
78     public PcepCloseMsg.Builder buildCloseMsg() {
79         return new PcepCloseMsgVer1.Builder();
80     }
81
82     @Override
83     public PcepUpdateMsg.Builder buildUpdateMsg() {
84         return new PcepUpdateMsgVer1.Builder();
85     }
86
87     @Override
88     public PcepReportMsg.Builder buildReportMsg() {
89         return new PcepReportMsgVer1.Builder();
90     }
91
92     @Override
93     public PcepInitiateMsg.Builder buildPcepInitiateMsg() {
94         return new PcepInitiateMsgVer1.Builder();
95     }
96
97     @Override
98     public PcepLspObject.Builder buildLspObject() {
99         return new PcepLspObjectVer1.Builder();
100     }
101
102     @Override
103     public PcepMessageReader<PcepMessage> getReader() {
104         return PcepMessageVer1.READER;
105     }
106
107     @Override
108     public PcepVersion getVersion() {
109         return PcepVersion.PCEP_1;
110     }
111
112     @Override
113     public PcepSrpObject.Builder buildSrpObject() {
114         return new PcepSrpObjectVer1.Builder();
115     }
116
117     @Override
118     public PcepEndPointsObject.Builder buildEndPointsObject() {
119         return new PcepEndPointsObjectVer1.Builder();
120     }
121
122     @Override
123     public PcepEroObject.Builder buildEroObject() {
124         return new PcepEroObjectVer1.Builder();
125     }
126
127     @Override
128     public PcepRroObject.Builder buildRroObject() {
129         return new PcepRroObjectVer1.Builder();
130     }
131
132     @Override
133     public PcepLspaObject.Builder buildLspaObject() {
134         return new PcepLspaObjectVer1.Builder();
135     }
136
137     @Override
138     public PcepIroObject.Builder buildIroObject() {
139         return new PcepIroObjectVer1.Builder();
140     }
141
142     @Override
143     public PcepMetricObject.Builder buildMetricObject() {
144         return new PcepMetricObjectVer1.Builder();
145     }
146
147     @Override
148     public PcepBandwidthObject.Builder buildBandwidthObject() {
149         return new PcepBandwidthObjectVer1.Builder();
150     }
151
152     @Override
153     public PcepMsgPath.Builder buildPcepMsgPath() {
154         return new PcepMsgPathVer1.Builder();
155     }
156
157     @Override
158     public PcepStateReport.Builder buildPcepStateReport() {
159         return new PcepStateReportVer1.Builder();
160     }
161
162     @Override
163     public PcepUpdateRequest.Builder buildPcepUpdateRequest() {
164         return new PcepUpdateRequestVer1.Builder();
165     }
166
167     @Override
168     public PcInitiatedLspRequest.Builder buildPcInitiatedLspRequest() {
169         return new PcInitiatedLspRequestVer1.Builder();
170     }
171
172     @Override
173     public PcepAttribute.Builder buildPcepAttribute() {
174         return new PcepAttributeVer1.Builder();
175     }
176
177     @Override
178     public PcepLabelUpdateMsg.Builder buildPcepLabelUpdateMsg() {
179         return new PcepLabelUpdateMsgVer1.Builder();
180     }
181
182     @Override
183     public PcepLabelUpdate.Builder buildPcepLabelUpdateObject() {
184         return new PcepLabelUpdateVer1.Builder();
185     }
186
187     @Override
188     public PcepLabelObject.Builder buildLabelObject() {
189         return new PcepLabelObjectVer1.Builder();
190     }
191
192     @Override
193     public PcepErrorMsg.Builder buildPcepErrorMsg() {
194         return new PcepErrorMsgVer1.Builder();
195     }
196
197     @Override
198     public PcepErrorObject.Builder buildPcepErrorObject() {
199         return new PcepErrorObjectVer1.Builder();
200     }
201
202     @Override
203     public PcepFecObjectIPv4Adjacency.Builder buildFecIpv4Adjacency() {
204         return new PcepFecObjectIPv4AdjacencyVer1.Builder();
205     }
206
207     @Override
208     public PcepErrorInfo.Builder buildPcepErrorInfo() {
209         return new PcepErrorInfoVer1.Builder();
210     }
211
212     @Override
213     public PcepError.Builder buildPcepError() {
214         return new PcepErrorVer1.Builder();
215     }
216
217     @Override
218     public PcepLabelRangeObject.Builder buildPcepLabelRangeObject() {
219         return new PcepLabelRangeObjectVer1.Builder();
220     }
221
222     @Override
223     public PcepLabelRangeResvMsg.Builder buildPcepLabelRangeResvMsg() {
224         return new PcepLabelRangeResvMsgVer1.Builder();
225     }
226 }