X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-mapping-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fmapping%2Fapi%2FHandlingPriority.java;h=05122be4d245a8f09b0c566aab90337c28c513af;hp=176cf2d28c02d54dbaeedc39abe23357e27d8324;hb=2a4c88aa665a45c5394642cb3604603bebf8c0da;hpb=67a2d25f63cc03d6291f9b3110e70fac812c3793 diff --git a/opendaylight/netconf/netconf-mapping-api/src/main/java/org/opendaylight/controller/netconf/mapping/api/HandlingPriority.java b/opendaylight/netconf/netconf-mapping-api/src/main/java/org/opendaylight/controller/netconf/mapping/api/HandlingPriority.java index 176cf2d28c..05122be4d2 100644 --- a/opendaylight/netconf/netconf-mapping-api/src/main/java/org/opendaylight/controller/netconf/mapping/api/HandlingPriority.java +++ b/opendaylight/netconf/netconf-mapping-api/src/main/java/org/opendaylight/controller/netconf/mapping/api/HandlingPriority.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.netconf.mapping.api; import com.google.common.base.Optional; +import com.google.common.base.Preconditions; public class HandlingPriority implements Comparable { @@ -33,7 +34,19 @@ public class HandlingPriority implements Comparable { * @return priority number or Optional.absent otherwise */ public Optional getPriority() { - return Optional.of(priority).or(Optional. absent()); + return Optional.fromNullable(priority); + } + + public HandlingPriority increasePriority(int priorityIncrease) { + Preconditions.checkState(priority!=null, "Unable to increase priority for %s", this); + Preconditions.checkArgument(priorityIncrease > 0, "Negative increase"); + Preconditions.checkArgument(Long.valueOf(priority) + priorityIncrease < Integer.MAX_VALUE, + "Resulting priority cannot be higher than %s", Integer.MAX_VALUE); + return getHandlingPriority(priority + priorityIncrease); + } + + public boolean isCannotHandle() { + return this.equals(CANNOT_HANDLE); } @Override