X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fyang-binding%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fbinding%2Futil%2FAugmentationFieldGetter.java;h=d0980975d685c4c68fc578723dbca7e0873ca260;hb=2cd00f1a5d28cb5df491e07ac18848c50338a4c5;hp=03c04c4c7a231436f2a28fbb6c7d6b5fa2c35ed1;hpb=9fe10ff710628800f6396f43eadefcaf723eb5be;p=mdsal.git diff --git a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/AugmentationFieldGetter.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/AugmentationFieldGetter.java index 03c04c4c7a..d0980975d6 100644 --- a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/AugmentationFieldGetter.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/AugmentationFieldGetter.java @@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.binding.BindingMapping; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Deprecated abstract class AugmentationFieldGetter { private static final Logger LOG = LoggerFactory.getLogger(AugmentationFieldGetter.class); @@ -36,7 +37,6 @@ abstract class AugmentationFieldGetter { }; private static final AugmentationFieldGetter AUGMENTATION_HOLDER_GETTER = new AugmentationFieldGetter() { - @Override @SuppressWarnings({"unchecked", "rawtypes"}) protected Map>, Augmentation> getAugmentations(final Object input) { @@ -44,20 +44,19 @@ abstract class AugmentationFieldGetter { } }; + private static final LoadingCache, AugmentationFieldGetter> AUGMENTATION_GETTERS = + CacheBuilder.newBuilder().weakKeys().build(new AugmentationGetterLoader()); + /** - * - * Retrieves augmentations from supplied object + * Retrieves augmentations from supplied object. * * @param input Input Data object, from which augmentations should be extracted * @return Map of Augmentation class to augmentation */ - protected abstract Map>, Augmentation> getAugmentations(final Object input); - - private static final LoadingCache, AugmentationFieldGetter> AUGMENTATION_GETTERS = CacheBuilder - .newBuilder().weakKeys().softValues().build(new AugmentationGetterLoader()); + protected abstract Map>, Augmentation> getAugmentations(Object input); public static AugmentationFieldGetter getGetter(final Class clz) { - if(AugmentationHolder.class.isAssignableFrom(clz)) { + if (AugmentationHolder.class.isAssignableFrom(clz)) { return AUGMENTATION_HOLDER_GETTER; } return AUGMENTATION_GETTERS.getUnchecked(clz); @@ -96,6 +95,7 @@ abstract class AugmentationFieldGetter { } @Override + @SuppressWarnings("checkstyle:illegalCatch") protected Map>, Augmentation> getAugmentations(final Object input) { try { return (Map>, Augmentation>) fieldGetter.invokeExact(input);