Class BeanMap

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​java.lang.Object>

    public final class BeanMap
    extends java.util.AbstractMap<java.lang.String,​java.lang.Object>
    implements java.io.Serializable, java.lang.Cloneable
    A Map adapter for a Java Bean.

    Ruthlessly stolen from Binkley's Blog

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  BeanMap.BeanEntry  
      private class  BeanMap.BeanIterator  
      private class  BeanMap.BeanSet  
      private static interface  BeanMap.Wrapped  
      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Object bean  
      private java.util.Set<java.beans.PropertyDescriptor> descriptors  
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanMap​(java.lang.Object pBean)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String checkKey​(java.lang.Object pKey)  
      java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.Object>> entrySet()  
      java.lang.Object get​(java.lang.Object pKey)  
      private static java.util.Set<java.beans.PropertyDescriptor> initDescriptors​(java.lang.Object pBean)  
      java.lang.Object put​(java.lang.String pKey, java.lang.Object pValue)  
      private java.lang.Object readResolve()  
      java.lang.Object remove​(java.lang.Object pKey)  
      int size()  
      private static java.lang.Object unwrap​(BeanMap.Wrapped wrapped)  
      • Methods inherited from class java.util.AbstractMap

        clear, clone, containsKey, containsValue, equals, hashCode, isEmpty, keySet, putAll, toString, values
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
    • Field Detail

      • bean

        private final java.lang.Object bean
      • descriptors

        private transient java.util.Set<java.beans.PropertyDescriptor> descriptors
    • Constructor Detail

      • BeanMap

        public BeanMap​(java.lang.Object pBean)
                throws java.beans.IntrospectionException
        Throws:
        java.beans.IntrospectionException
    • Method Detail

      • initDescriptors

        private static java.util.Set<java.beans.PropertyDescriptor> initDescriptors​(java.lang.Object pBean)
                                                                             throws java.beans.IntrospectionException
        Throws:
        java.beans.IntrospectionException
      • entrySet

        public java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.Object>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<java.lang.String,​java.lang.Object>
        Specified by:
        entrySet in class java.util.AbstractMap<java.lang.String,​java.lang.Object>
      • get

        public java.lang.Object get​(java.lang.Object pKey)
        Specified by:
        get in interface java.util.Map<java.lang.String,​java.lang.Object>
        Overrides:
        get in class java.util.AbstractMap<java.lang.String,​java.lang.Object>
      • put

        public java.lang.Object put​(java.lang.String pKey,
                                    java.lang.Object pValue)
        Specified by:
        put in interface java.util.Map<java.lang.String,​java.lang.Object>
        Overrides:
        put in class java.util.AbstractMap<java.lang.String,​java.lang.Object>
      • remove

        public java.lang.Object remove​(java.lang.Object pKey)
        Specified by:
        remove in interface java.util.Map<java.lang.String,​java.lang.Object>
        Overrides:
        remove in class java.util.AbstractMap<java.lang.String,​java.lang.Object>
      • size

        public int size()
        Specified by:
        size in interface java.util.Map<java.lang.String,​java.lang.Object>
        Overrides:
        size in class java.util.AbstractMap<java.lang.String,​java.lang.Object>
      • checkKey

        private java.lang.String checkKey​(java.lang.Object pKey)
      • readResolve

        private java.lang.Object readResolve()
                                      throws java.beans.IntrospectionException
        Throws:
        java.beans.IntrospectionException
      • unwrap

        private static java.lang.Object unwrap​(BeanMap.Wrapped wrapped)