Package jnr.ffi.util

Class EnumMapper


  • public final class EnumMapper
    extends java.lang.Object
    Provides mapping from Enum values to native integers and vice-versa
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Class<? extends java.lang.Enum> enumClass  
      private java.lang.Integer[] intValues  
      private java.lang.Long[] longValues  
      private java.util.Map<java.lang.Number,​java.lang.Enum> reverseLookupMap  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private EnumMapper​(java.lang.Class<? extends java.lang.Enum> enumClass)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static EnumMapper addMapper​(java.lang.Class<? extends java.lang.Enum> enumClass)  
      private java.lang.Enum badValue​(java.lang.Number value)  
      static EnumMapper getInstance​(java.lang.Class<? extends java.lang.Enum> enumClass)  
      private static java.lang.reflect.Method getNumberValueMethod​(java.lang.Class c, java.lang.Class numberClass)  
      java.lang.Integer integerValue​(java.lang.Enum value)  
      int intValue​(java.lang.Enum value)  
      java.lang.Long longValue​(java.lang.Enum value)  
      private static java.lang.Number reflectedNumberValue​(java.lang.Enum e, java.lang.reflect.Method m)  
      private java.lang.Enum reverseLookup​(java.lang.Number value)  
      java.lang.Enum valueOf​(int value)  
      java.lang.Enum valueOf​(long value)  
      java.lang.Enum valueOf​(java.lang.Number value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • enumClass

        private final java.lang.Class<? extends java.lang.Enum> enumClass
      • intValues

        private final java.lang.Integer[] intValues
      • longValues

        private final java.lang.Long[] longValues
      • reverseLookupMap

        private final java.util.Map<java.lang.Number,​java.lang.Enum> reverseLookupMap
    • Constructor Detail

      • EnumMapper

        private EnumMapper​(java.lang.Class<? extends java.lang.Enum> enumClass)
    • Method Detail

      • getInstance

        public static EnumMapper getInstance​(java.lang.Class<? extends java.lang.Enum> enumClass)
      • addMapper

        private static EnumMapper addMapper​(java.lang.Class<? extends java.lang.Enum> enumClass)
      • getNumberValueMethod

        private static java.lang.reflect.Method getNumberValueMethod​(java.lang.Class c,
                                                                     java.lang.Class numberClass)
      • reflectedNumberValue

        private static java.lang.Number reflectedNumberValue​(java.lang.Enum e,
                                                             java.lang.reflect.Method m)
      • integerValue

        public final java.lang.Integer integerValue​(java.lang.Enum value)
      • intValue

        public final int intValue​(java.lang.Enum value)
      • longValue

        public final java.lang.Long longValue​(java.lang.Enum value)
      • valueOf

        public java.lang.Enum valueOf​(int value)
      • valueOf

        public java.lang.Enum valueOf​(long value)
      • valueOf

        public java.lang.Enum valueOf​(java.lang.Number value)
      • reverseLookup

        private java.lang.Enum reverseLookup​(java.lang.Number value)
      • badValue

        private java.lang.Enum badValue​(java.lang.Number value)