2 * Copyright (c) 2016, 2017 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.lispflowmapping.lisp.type;
11 import com.google.common.base.Optional;
12 import java.util.Date;
13 import org.opendaylight.lispflowmapping.lisp.util.MappingRecordUtil;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecord;
18 * Wrapper class for MappingRecord with timestamp added.
20 * @author Lorand Jakab
23 public class MappingData {
24 private MappingRecord record = null;
25 private Date timestamp = null;
26 private XtrId xtrId = null;
27 private boolean mergeEnabled = false;
29 public MappingData(MappingRecord record, Long timestamp) {
30 this(record, new Date(timestamp));
33 public MappingData(MappingRecord record, Date timestamp) {
35 setTimestamp(timestamp);
38 public MappingData(MappingRecord record) {
42 public synchronized MappingRecord getRecord() {
46 public synchronized void setRecord(MappingRecord record) {
50 public synchronized Date getTimestamp() {
54 public synchronized void setTimestamp(Date timestamp) {
55 this.timestamp = timestamp;
58 public synchronized XtrId getXtrId() {
62 public synchronized void setXtrId(XtrId xtrId) {
66 public synchronized boolean isMergeEnabled() {
70 public synchronized void setMergeEnabled(boolean mergeEnabled) {
71 this.mergeEnabled = mergeEnabled;
74 public Optional<Boolean> isNegative() {
76 return Optional.of(MappingRecordUtil.isNegativeMapping(record));
78 return Optional.absent();
82 public Optional<Boolean> isPositive() {
84 return Optional.of(MappingRecordUtil.isPositiveMapping(record));
86 return Optional.absent();
91 public String toString() {
92 StringBuilder sb = new StringBuilder("MappingData [");
95 sb.append(mergeEnabled);
98 sb.append(", xTR-ID=");
102 if (timestamp != null) {
103 sb.append(", timestamp=");
104 sb.append(timestamp);
107 if (record != null) {
108 sb.append(", record=");
112 return sb.append(']').toString();