Enforce checkstyle and findbug under PCE Api
[bgpcep.git] / pcep / api / src / main / java / org / opendaylight / protocol / pcep / PCEPSessionProposalFactory.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.protocol.pcep;
9
10 import java.net.InetSocketAddress;
11 import java.util.List;
12 import javax.annotation.Nonnull;
13 import javax.annotation.Nullable;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.Open;
15
16 /**
17  * Factory for generating PCEP Session proposals. Used by a server.
18  */
19 public interface PCEPSessionProposalFactory {
20     /**
21      * Creates Open with session proposal.
22      *
23      * @param address      serves as constraint, so that factory is able to return different proposals for different
24      *                     addresses
25      * @param sessionId    is used for creation of PCEPOpenObject
26      * @param peerProposal for including information from peer to our Open message
27      * @return specific session proposal
28      */
29     @Nonnull
30     Open getSessionProposal(@Nonnull InetSocketAddress address, int sessionId, @Nullable PCEPPeerProposal peerProposal);
31
32     /**
33      * Returns list containing PCEP Capabilities.
34      *
35      * @return PCEPCapabilities
36      */
37     @Nonnull
38     List<PCEPCapability> getCapabilities();
39 }