All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.onosproject.pcepio.protocol.PcepFactory Maven / Gradle / Ivy

There is a newer version: 2.4.0
Show newest version
/*
 * Copyright 2015-present Open Networking Foundation
 *
 * 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;

/**
 * Abstraction of an Message factory providing Builder functions to PCEP Messages and Objects.
 */
public interface PcepFactory {

    /**
     * Returns Builder Object for Open Message.
     *
     * @return Builder Object for Open Message
     */
    PcepOpenMsg.Builder buildOpenMsg();

    /**
     * Returns Builder Object for Open Object.
     *
     * @return Builder Object for Open Object
     */
    PcepOpenObject.Builder buildOpenObject();

    /**
     * Returns Builder Object for Keepalive Message.
     *
     * @return Builder Object for Keepalive Message
     */
    PcepKeepaliveMsg.Builder buildKeepaliveMsg();

    /**
     * Returns Builder Object for Close Message.
     *
     * @return Builder Object for Close Message
     */
    PcepCloseMsg.Builder buildCloseMsg();

    /**
     * Returns Builder Object for Report Message.
     *
     * @return Builder Object for Report Message
     */
    PcepReportMsg.Builder buildReportMsg();

    /**
     * Returns Builder Object for Update Message.
     *
     * @return Builder Object for Update Message
     */
    PcepUpdateMsg.Builder buildUpdateMsg();

    /**
     * Returns Builder Object for Initiate Message.
     *
     * @return Builder Object for Initiate Message
     */
    PcepInitiateMsg.Builder buildPcepInitiateMsg();

    /**
     * Returns Builder Object for LSP Object.
     *
     * @return Builder Object for LSP Object
     */
    PcepLspObject.Builder buildLspObject();

    /**
     * Returns Builder Object for SRP Object.
     *
     * @return Builder Object for SRP Object
     */
    PcepSrpObject.Builder buildSrpObject();

    /**
     * Returns Builder Object for EndPoints Object.
     *
     * @return Builder Object for EndPoints Object
     */
    PcepEndPointsObject.Builder buildEndPointsObject();

    /**
     * Returns Builder Object for ERO Object.
     *
     * @return Builder Object for ERO Object
     */
    PcepEroObject.Builder buildEroObject();

    /**
     * Returns Builder Object for RRO Object.
     *
     * @return Builder Object for RRO Object
     */
    PcepRroObject.Builder buildRroObject();

    /**
     * Returns Builder Object for LSPA Object.
     *
     * @return Builder Object for LSPA Object
     */
    PcepLspaObject.Builder buildLspaObject();

    /**
     * Returns Builder Object for IRO Object.
     *
     * @return Builder Object for IRO Object
     */
    PcepIroObject.Builder buildIroObject();

    /**
     * Returns Builder Object for METRIC Object.
     *
     * @return Builder Object for METRIC Object
     */
    PcepMetricObject.Builder buildMetricObject();

    /**
     * Returns Builder Object for Bandwidth Object.
     *
     * @return Builder Object for Bandwidth Object
     */
    PcepBandwidthObject.Builder buildBandwidthObject();

    /**
     * Returns PCEP Message Reader.
     *
     * @return PCEP Message Reader
     */
    PcepMessageReader getReader();

    /**
     * Returns PCEP version.
     *
     * @return PCEP version
     */
    PcepVersion getVersion();

    /**
     * Returns PcepStateReport.
     *
     * @return PcepStateReport
     */
    PcepStateReport.Builder buildPcepStateReport();

    /**
     * Returns PcepUpdateRequest.
     *
     * @return PcepUpdateRequest
     */
    PcepUpdateRequest.Builder buildPcepUpdateRequest();

    /**
     * Returns PcInitiatedLspRequest.
     *
     * @return PcInitiatedLspRequest
     */
    PcInitiatedLspRequest.Builder buildPcInitiatedLspRequest();

    /**
     * Returns PcepMsgPath.
     *
     * @return PcepMsgPath
     */
    PcepMsgPath.Builder buildPcepMsgPath();

    /**
     * Return PcepAttribute list.
     *
     * @return PcepAttribute
     */
    PcepAttribute.Builder buildPcepAttribute();

    /**
     * Returns Builder Object for LabelUpdate message.
     *
     * @return Builder Object for LabelUpdate message
     */
    PcepLabelUpdateMsg.Builder buildPcepLabelUpdateMsg();

    /**
     * Returns Builder Object for PcepLabelUpdate Object.
     *
     * @return Builder Object for PcepLabelUpdate Object
     */
    PcepLabelUpdate.Builder buildPcepLabelUpdateObject();

    /**
     * Returns Builder Object for PcepLabel Object.
     *
     * @return Builder Object for PcepLabel Object
     */
    PcepLabelObject.Builder buildLabelObject();

    /**
     * Returns Builder Object for Error Message.
     *
     * @return Builder Object for Error Message
     */
    PcepErrorMsg.Builder buildPcepErrorMsg();

    /**
     * Returns Builder Object for Error Object.
     *
     * @return Builder Object for Error Object
     */
    PcepErrorObject.Builder buildPcepErrorObject();

    /**
     * Returns Builder Object for FecIpv4Adjacency.
     *
     * @return Builder Object for FecIpv4Adjacency
     */
    PcepFecObjectIPv4Adjacency.Builder buildFecIpv4Adjacency();

    /**
     * Returns Builder Object for FecObjectIPv4.
     *
     * @return Builder Object for FecObjectIPv4
     */
    PcepFecObjectIPv4.Builder buildFecObjectIpv4();

    /**
     * Returns Builder Object for ErrorInfo.
     *
     * @return Builder Object for ErrorInfo
     */
    PcepErrorInfo.Builder buildPcepErrorInfo();

    /**
     * Returns Builder Object for PcepError.
     *
     * @return Builder Object for PcepError
     */
    PcepError.Builder buildPcepError();

    /**
     * Returns Builder Object for PcepLabelRangeObject.
     *
     * @return Builder Object for PcepLabelRangeObject
     */
    PcepLabelRangeObject.Builder buildPcepLabelRangeObject();

    /**
     * Returns Builder Object for PcepLabelRangeResvMsg.
     *
     * @return Builder Object for PcepLabelRangeResvMsg
     */
    PcepLabelRangeResvMsg.Builder buildPcepLabelRangeResvMsg();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy