Initial code drop
[bgpcep.git] / bgp / linkstate / src / main / java / org / opendaylight / protocol / bgp / linkstate / OSPFNetworkPrefixState.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.bgp.linkstate;
9
10 import org.opendaylight.protocol.concepts.NetworkAddress;
11 import com.google.common.base.Objects.ToStringHelper;
12
13 /**
14  * OSPF-specific prefix prefix advertisement.
15  * @param <T> Network Address type of the prefix being advertised
16  */
17 public class OSPFNetworkPrefixState<T extends NetworkAddress<?>> extends NetworkPrefixState {
18         private static final long serialVersionUID = 1L;
19         private final T forwardingAddress;
20
21         protected OSPFNetworkPrefixState(OSPFNetworkPrefixState<T> orig) {
22                 super(orig);
23                 this.forwardingAddress = orig.forwardingAddress;
24         }
25
26         public OSPFNetworkPrefixState(NetworkPrefixState orig, T forwardingAddress) {
27                 super(orig);
28                 this.forwardingAddress = forwardingAddress;
29         }
30
31         /**
32          * Returns the OSPF forwarding address attached to this advertisement.
33          *
34          * @return OSPF forwarding address
35          */
36         public final T getForwardingAddress() {
37                 return forwardingAddress;
38         }
39
40         @Override
41         protected ToStringHelper addToStringAttributes(ToStringHelper toStringHelper) {
42                 toStringHelper.add("forwardingAddress", this.forwardingAddress);
43                 return super.addToStringAttributes(toStringHelper);
44         }
45 }
46