Class FieldScanner.FieldKey

  • Enclosing class:
    FieldScanner

    private static class FieldScanner.FieldKey
    extends java.lang.Object
    The FieldKey object is used to create a key that can store a contact using a field without using the methods of hashCode and equals on the field directly, as these can perform poorly on certain platforms.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String name
      This is the name of the field that this represents.
      private java.lang.Class type
      This is the class that the field has been declared on.
    • Constructor Summary

      Constructors 
      Constructor Description
      FieldKey​(java.lang.reflect.Field field)
      Constructor of the FieldKey object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object value)
      This method is used to compare this key to other keys.
      private boolean equals​(FieldScanner.FieldKey other)
      This method is used to compare this key to other keys.
      int hashCode()
      This is basically the hash code for the field name.
      • Methods inherited from class java.lang.Object

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

      • type

        private final java.lang.Class type
        This is the class that the field has been declared on.
      • name

        private final java.lang.String name
        This is the name of the field that this represents.
    • Constructor Detail

      • FieldKey

        public FieldKey​(java.lang.reflect.Field field)
        Constructor of the FieldKey object. This is used to create an object that can reference something in a similar manner to a field.
        Parameters:
        field - this is the field to create the key with
    • Method Detail

      • hashCode

        public int hashCode()
        This is basically the hash code for the field name. Because field names are unique within a class collisions using just the name for the hash code should be infrequent.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        this returns the hash code for this key
      • equals

        public boolean equals​(java.lang.Object value)
        This method is used to compare this key to other keys. The declaring class and the name of the field are used to test for equality. If both are the same this returns true.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        value - this is the value that is to be compared to
        Returns:
        this returns true if the field values are equal
      • equals

        private boolean equals​(FieldScanner.FieldKey other)
        This method is used to compare this key to other keys. The declaring class and the name of the field are used to test for equality. If both are the same this returns true.
        Parameters:
        other - this is the value that is to be compared to
        Returns:
        this returns true if the field values are equal