Class RegexMembership

  • All Implemented Interfaces:
    Streamable

    public class RegexMembership
    extends AuthToken
    Matches the IP address or logical name of a joiner against a regular expression and accepts or rejects based on pattern matching
    Author:
    Bela Ban
    • Constructor Summary

      Constructors 
      Constructor Description
      RegexMembership()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean authenticate​(AuthToken token, Message msg)
      This method should be implemented to perform the actual authentication of joining members.
      java.lang.String getName()
      Used to return the full package and class name of the implementation.
      void readFrom​(java.io.DataInput in)
      Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
      int size()
      The size of the marshalled AuthToken
      void start()  
      void writeTo​(java.io.DataOutput out)
      Write the entire state of the current object (including superclasses) to outstream.
      • Methods inherited from class java.lang.Object

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

      • match_string

        protected java.lang.String match_string
      • match_ip_address

        protected boolean match_ip_address
      • match_logical_name

        protected boolean match_logical_name
      • pattern

        protected java.util.regex.Pattern pattern
    • Constructor Detail

      • RegexMembership

        public RegexMembership()
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from class: AuthToken
        Used to return the full package and class name of the implementation. This is used by the AUTH protocol to create an instance of the implementation.
        Specified by:
        getName in class AuthToken
        Returns:
        a java.lang.String object of the package and class name
      • start

        public void start()
                   throws java.lang.Exception
        Overrides:
        start in class AuthToken
        Throws:
        java.lang.Exception
      • authenticate

        public boolean authenticate​(AuthToken token,
                                    Message msg)
        Description copied from class: AuthToken
        This method should be implemented to perform the actual authentication of joining members.
        Specified by:
        authenticate in class AuthToken
        Parameters:
        token - the token sent by the joiner
        msg - the Message object containing the actual JOIN_REQ
        Returns:
        true if authenticaion passed or false if it failed.
      • writeTo

        public void writeTo​(java.io.DataOutput out)
        Description copied from interface: Streamable
        Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed
      • readFrom

        public void readFrom​(java.io.DataInput in)
        Description copied from interface: Streamable
        Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
      • size

        public int size()
        Description copied from class: AuthToken
        The size of the marshalled AuthToken
        Specified by:
        size in class AuthToken