X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fspi%2Fmeta%2FCopyHistory.java;h=8c4086715722bdfbb6f2a12dc2895af9f4d16943;hb=62c350eff478deeaa90ab0304cdc9c3623c01c83;hp=5b0e1340dd40a7e96d3b40540ad075cf765ed3ca;hpb=c4c3713bdb2abc8b3842ec7131d8233c54f5b9dd;p=yangtools.git diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/CopyHistory.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/CopyHistory.java index 5b0e1340dd..8c40867157 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/CopyHistory.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/CopyHistory.java @@ -14,9 +14,10 @@ import com.google.common.base.Verify; import java.util.Arrays; import java.util.stream.Collectors; import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.yang.model.api.CopyableNode; @Beta -public final class CopyHistory implements Immutable { +public final class CopyHistory implements Immutable, CopyableNode { private static final CopyType[] VALUES = CopyType.values(); private static final CopyHistory[][] CACHE = new CopyHistory[VALUES.length][]; @@ -34,6 +35,10 @@ public final class CopyHistory implements Immutable { } private static final CopyHistory ORIGINAL = cacheObject(CopyType.ORIGINAL, CopyType.ORIGINAL.bit()); + private static final int IS_ADDED_BY_USES_BITS = + CopyType.ADDED_BY_USES_AUGMENTATION.bit() | CopyType.ADDED_BY_USES.bit(); + private static final int IS_AUGMENTING_BITS = + CopyType.ADDED_BY_USES_AUGMENTATION.bit() | CopyType.ADDED_BY_AUGMENTATION.bit(); private final short operations; private final short lastOperation; @@ -83,14 +88,27 @@ public final class CopyHistory implements Immutable { return ret; } - public boolean contains(final CopyType type) { - return (operations & type.bit()) != 0; - } - public CopyType getLastOperation() { return VALUES[lastOperation]; } + @Override + @Deprecated + public boolean isAugmenting() { + return (operations & IS_AUGMENTING_BITS) != 0; + } + + @Override + @Deprecated + public boolean isAddedByUses() { + return (operations & IS_ADDED_BY_USES_BITS) != 0; + } + + @VisibleForTesting + boolean contains(final CopyType type) { + return (operations & type.bit()) != 0; + } + @VisibleForTesting CopyHistory append(final CopyType typeOfCopy, final CopyHistory toAppend) { final int newOperations = operations | toAppend.operations | typeOfCopy.bit();