blob: 6b5d450ae34afbec66840856ed0ee16416233915 [file] [log] [blame]
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onosproject.pcepio.protocol.ver1;
import org.onosproject.pcepio.protocol.PcInitiatedLspRequest;
import org.onosproject.pcepio.protocol.PcepAttribute;
import org.onosproject.pcepio.protocol.PcepBandwidthObject;
import org.onosproject.pcepio.protocol.PcepCloseMsg;
import org.onosproject.pcepio.protocol.PcepEndPointsObject;
import org.onosproject.pcepio.protocol.PcepEroObject;
import org.onosproject.pcepio.protocol.PcepErrorInfo;
import org.onosproject.pcepio.protocol.PcepError;
import org.onosproject.pcepio.protocol.PcepErrorMsg;
import org.onosproject.pcepio.protocol.PcepErrorObject;
import org.onosproject.pcepio.protocol.PcepFactory;
import org.onosproject.pcepio.protocol.PcepFecObjectIPv4Adjacency;
import org.onosproject.pcepio.protocol.PcepInitiateMsg;
import org.onosproject.pcepio.protocol.PcepIroObject;
import org.onosproject.pcepio.protocol.PcepKeepaliveMsg;
import org.onosproject.pcepio.protocol.PcepLabelObject;
import org.onosproject.pcepio.protocol.PcepLabelRangeObject;
import org.onosproject.pcepio.protocol.PcepLabelRangeResvMsg;
import org.onosproject.pcepio.protocol.PcepLabelUpdate;
import org.onosproject.pcepio.protocol.PcepLabelUpdateMsg;
import org.onosproject.pcepio.protocol.PcepLspObject;
import org.onosproject.pcepio.protocol.PcepLspaObject;
import org.onosproject.pcepio.protocol.PcepMessage;
import org.onosproject.pcepio.protocol.PcepMessageReader;
import org.onosproject.pcepio.protocol.PcepMetricObject;
import org.onosproject.pcepio.protocol.PcepMsgPath;
import org.onosproject.pcepio.protocol.PcepOpenMsg;
import org.onosproject.pcepio.protocol.PcepOpenObject;
import org.onosproject.pcepio.protocol.PcepReportMsg;
import org.onosproject.pcepio.protocol.PcepRroObject;
import org.onosproject.pcepio.protocol.PcepSrpObject;
import org.onosproject.pcepio.protocol.PcepStateReport;
import org.onosproject.pcepio.protocol.PcepUpdateMsg;
import org.onosproject.pcepio.protocol.PcepUpdateRequest;
import org.onosproject.pcepio.protocol.PcepVersion;
/**
* Provides PCEP Factory and returns builder classes for all objects and messages.
*/
public class PcepFactoryVer1 implements PcepFactory {
public static final PcepFactoryVer1 INSTANCE = new PcepFactoryVer1();
@Override
public PcepOpenMsg.Builder buildOpenMsg() {
return new PcepOpenMsgVer1.Builder();
}
@Override
public PcepOpenObject.Builder buildOpenObject() {
return new PcepOpenObjectVer1.Builder();
}
@Override
public PcepKeepaliveMsg.Builder buildKeepaliveMsg() {
return new PcepKeepaliveMsgVer1.Builder();
}
@Override
public PcepCloseMsg.Builder buildCloseMsg() {
return new PcepCloseMsgVer1.Builder();
}
@Override
public PcepUpdateMsg.Builder buildUpdateMsg() {
return new PcepUpdateMsgVer1.Builder();
}
@Override
public PcepReportMsg.Builder buildReportMsg() {
return new PcepReportMsgVer1.Builder();
}
@Override
public PcepInitiateMsg.Builder buildPcepInitiateMsg() {
return new PcepInitiateMsgVer1.Builder();
}
@Override
public PcepLspObject.Builder buildLspObject() {
return new PcepLspObjectVer1.Builder();
}
@Override
public PcepMessageReader<PcepMessage> getReader() {
return PcepMessageVer1.READER;
}
@Override
public PcepVersion getVersion() {
return PcepVersion.PCEP_1;
}
@Override
public PcepSrpObject.Builder buildSrpObject() {
return new PcepSrpObjectVer1.Builder();
}
@Override
public PcepEndPointsObject.Builder buildEndPointsObject() {
return new PcepEndPointsObjectVer1.Builder();
}
@Override
public PcepEroObject.Builder buildEroObject() {
return new PcepEroObjectVer1.Builder();
}
@Override
public PcepRroObject.Builder buildRroObject() {
return new PcepRroObjectVer1.Builder();
}
@Override
public PcepLspaObject.Builder buildLspaObject() {
return new PcepLspaObjectVer1.Builder();
}
@Override
public PcepIroObject.Builder buildIroObject() {
return new PcepIroObjectVer1.Builder();
}
@Override
public PcepMetricObject.Builder buildMetricObject() {
return new PcepMetricObjectVer1.Builder();
}
@Override
public PcepBandwidthObject.Builder buildBandwidthObject() {
return new PcepBandwidthObjectVer1.Builder();
}
@Override
public PcepMsgPath.Builder buildPcepMsgPath() {
return new PcepMsgPathVer1.Builder();
}
@Override
public PcepStateReport.Builder buildPcepStateReport() {
return new PcepStateReportVer1.Builder();
}
@Override
public PcepUpdateRequest.Builder buildPcepUpdateRequest() {
return new PcepUpdateRequestVer1.Builder();
}
@Override
public PcInitiatedLspRequest.Builder buildPcInitiatedLspRequest() {
return new PcInitiatedLspRequestVer1.Builder();
}
@Override
public PcepAttribute.Builder buildPcepAttribute() {
return new PcepAttributeVer1.Builder();
}
@Override
public PcepLabelUpdateMsg.Builder buildPcepLabelUpdateMsg() {
return new PcepLabelUpdateMsgVer1.Builder();
}
@Override
public PcepLabelUpdate.Builder buildPcepLabelUpdateObject() {
return new PcepLabelUpdateVer1.Builder();
}
@Override
public PcepLabelObject.Builder buildLabelObject() {
return new PcepLabelObjectVer1.Builder();
}
@Override
public PcepErrorMsg.Builder buildPcepErrorMsg() {
return new PcepErrorMsgVer1.Builder();
}
@Override
public PcepErrorObject.Builder buildPcepErrorObject() {
return new PcepErrorObjectVer1.Builder();
}
@Override
public PcepFecObjectIPv4Adjacency.Builder buildFecIpv4Adjacency() {
return new PcepFecObjectIPv4AdjacencyVer1.Builder();
}
@Override
public PcepErrorInfo.Builder buildPcepErrorInfo() {
return new PcepErrorInfoVer1.Builder();
}
@Override
public PcepError.Builder buildPcepError() {
return new PcepErrorVer1.Builder();
}
@Override
public PcepLabelRangeObject.Builder buildPcepLabelRangeObject() {
return new PcepLabelRangeObjectVer1.Builder();
}
@Override
public PcepLabelRangeResvMsg.Builder buildPcepLabelRangeResvMsg() {
return new PcepLabelRangeResvMsgVer1.Builder();
}
}