blob: ebecf19cb05c5e1dfbc43deb74b10e90747955bf [file] [log] [blame]
Sho SHIMIZU74361c12015-08-11 12:31:48 -07001package org.onosproject.pcepio.types;
2
3import java.util.LinkedList;
4import java.util.ListIterator;
5
6import org.onosproject.pcepio.protocol.PcepLabelObject;
7import org.onosproject.pcepio.protocol.PcepLspObject;
8import org.onosproject.pcepio.protocol.PcepSrpObject;
9import org.slf4j.Logger;
10import org.slf4j.LoggerFactory;
11
bharat saraswalf7364db2015-08-11 13:39:31 +053012import com.google.common.base.MoreObjects;
13
14/**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070015 * Provides Pcep Label.
16 * REference :draft-zhao-pce-pcep-extension-for-pce-controller-01.
17 */
18public class PcepLabelDownload {
19
20 protected static final Logger log = LoggerFactory.getLogger(PcepLabelDownload.class);
21
22 //PCEP SPR Object
bharat saraswalf7364db2015-08-11 13:39:31 +053023 private PcepSrpObject srpObject;
Sho SHIMIZU74361c12015-08-11 12:31:48 -070024 //PCEP LSP Object
bharat saraswalf7364db2015-08-11 13:39:31 +053025 private PcepLspObject lspObject;
Sho SHIMIZU74361c12015-08-11 12:31:48 -070026 //LinkList of Labels
bharat saraswalf7364db2015-08-11 13:39:31 +053027 private LinkedList<PcepLabelObject> llLabelList;
Sho SHIMIZU74361c12015-08-11 12:31:48 -070028
bharat saraswalf7364db2015-08-11 13:39:31 +053029 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070030 * Returns SRP Object.
31 *
32 * @return PCEP SRP Object
33 */
34 public PcepSrpObject getSrpObject() {
35 return srpObject;
36 }
37
bharat saraswalf7364db2015-08-11 13:39:31 +053038 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070039 * Sets the Pcep Srp Object.
40 *
41 * @param srpobj PCEP SRP Object
42 */
43 public void setSrpObject(PcepSrpObject srpobj) {
44 this.srpObject = srpobj;
45 }
46
bharat saraswalf7364db2015-08-11 13:39:31 +053047 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070048 * Returns LSP Object.
49 *
50 * @return PCEP LSP Object
51 */
52 public PcepLspObject getLspObject() {
53 return lspObject;
54 }
55
bharat saraswalf7364db2015-08-11 13:39:31 +053056 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070057 * Sets the Pcep LSP Object.
58 *
59 * @param lspObject PCEP LSP Object
60 */
61 public void setLspObject(PcepLspObject lspObject) {
62 this.lspObject = lspObject;
63 }
64
bharat saraswalf7364db2015-08-11 13:39:31 +053065 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070066 * Returns a list of labels.
67 *
68 * @return llLabelList list of pcep label objects
69 */
70 public LinkedList<PcepLabelObject> getLabelList() {
71 return llLabelList;
72 }
73
bharat saraswalf7364db2015-08-11 13:39:31 +053074 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070075 * set the llLabelList list of type PcepLableObject.
76 *
77 * @param llLabelList list of pcep label objects
78 */
79 public void setLabelList(LinkedList<PcepLabelObject> llLabelList) {
80 this.llLabelList = llLabelList;
81 }
82
bharat saraswalf7364db2015-08-11 13:39:31 +053083 /**
Sho SHIMIZU74361c12015-08-11 12:31:48 -070084 * Prints the attribute of PcepLableObject.
85 */
86 public void print() {
87 log.debug("LABEL DOWNLOAD:");
88 srpObject.print();
89 lspObject.print();
90
91 log.debug("label-list:");
92 ListIterator<PcepLabelObject> listIterator = llLabelList.listIterator();
93 while (listIterator.hasNext()) {
94 listIterator.next().print();
95 }
96 }
bharat saraswalf7364db2015-08-11 13:39:31 +053097
98 @Override
99 public String toString() {
100 return MoreObjects.toStringHelper(getClass())
101 .add("SRP object", srpObject)
102 .add("LSP object", lspObject)
103 .add("label object list", llLabelList)
104 .toString();
105 }
Sho SHIMIZU74361c12015-08-11 12:31:48 -0700106}