Package esmska.data

Class Contact

  • All Implemented Interfaces:
    java.lang.Comparable<Contact>

    public class Contact
    extends java.lang.Object
    implements java.lang.Comparable<Contact>
    SMS Contact entity
    • Constructor Summary

      Constructors 
      Constructor Description
      Contact​(Contact c)
      Create new contact with properties copied from provided contact
      Contact​(java.lang.String name, java.lang.String number, java.lang.String gateway)
      Create new contact.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)  
      static java.lang.String anonymizeNumber​(java.lang.String number)
      Modify (phone) number into anonymous one
      int compareTo​(Contact c)  
      void copyFrom​(Contact c)
      Copy all contact properties from provided contact to current contact
      boolean equals​(java.lang.Object obj)  
      java.lang.String getGateway()
      Get gateway.
      java.lang.String getName()
      Get contact name.
      java.lang.String getNumber()
      Get valid full phone number including the country code (starting with "+") or empty string.
      int hashCode()  
      static boolean isValidNumber​(java.lang.String number)
      Check validity of phone number
      static java.lang.String parseNumber​(java.lang.String number)
      Try to extract valid number from some local format (like "(1) 222 333") and convert it into international number.
      void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)  
      void setGateway​(java.lang.String gateway)
      Set contact gateway
      void setName​(java.lang.String name)
      Set contact name.
      void setNumber​(java.lang.String number)
      Set full phone number.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Contact

        public Contact​(Contact c)
        Create new contact with properties copied from provided contact
      • Contact

        public Contact​(java.lang.String name,
                       java.lang.String number,
                       java.lang.String gateway)
        Create new contact. For detailed parameters restrictions see individual setter methods.
    • Method Detail

      • addPropertyChangeListener

        public void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
      • removePropertyChangeListener

        public void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
      • copyFrom

        public void copyFrom​(Contact c)
        Copy all contact properties from provided contact to current contact
      • getName

        public java.lang.String getName()
        Get contact name. Never null.
      • getNumber

        public java.lang.String getNumber()
        Get valid full phone number including the country code (starting with "+") or empty string. Never null.
      • getGateway

        public java.lang.String getGateway()
        Get gateway. Never null.
      • setName

        public void setName​(java.lang.String name)
        Set contact name.
        Parameters:
        name - contact name. Null value is changed to empty string.
      • setNumber

        public void setNumber​(java.lang.String number)
        Set full phone number.
        Parameters:
        number - new contact number. Must be valid (see isValidNumber(java.lang.String)) or an empty string. Null value is changed to an empty string.
      • setGateway

        public void setGateway​(java.lang.String gateway)
        Set contact gateway
        Parameters:
        gateway - new gateway. Null value is changed to "unknown" gateway.
      • isValidNumber

        public static boolean isValidNumber​(java.lang.String number)
        Check validity of phone number
        Returns:
        true if number is in form +[0-9]{2,15} with valid country prefix, false otherwise
      • anonymizeNumber

        public static java.lang.String anonymizeNumber​(java.lang.String number)
        Modify (phone) number into anonymous one
        Parameters:
        number - (phone) number, may be null
        Returns:
        the same string with all the numbers replaced by 'N'
      • parseNumber

        public static java.lang.String parseNumber​(java.lang.String number)
        Try to extract valid number from some local format (like "(1) 222 333") and convert it into international number.
        Parameters:
        number - number in non-standard format; may be null
        Returns:
        parsed valid (international) number or null
      • compareTo

        public int compareTo​(Contact c)
        Specified by:
        compareTo in interface java.lang.Comparable<Contact>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object