org.jgroups.auth

## Class RegexMembership

- java.lang.Object
- - org.jgroups.auth.AuthToken
  - - org.jgroups.auth.RegexMembership

All Implemented Interfaces:
  java.io.Serializable, 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
See Also:
  Serialized Form

### Field Summary

Fields
`protected boolean` `match_ip_address`
`protected boolean` `match_logical_name`
`protected java.lang.String` `match_string`
`protected java.util.regex.Pattern` `pattern`

### Fields inherited from class org.jgroups.auth.AuthToken

`auth, log`

### Constructor Summary

Constructors
Constructor and Description
`RegexMembership()`

### Method Summary

Methods
`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` `init()`
`void` `readFrom(java.io.DataInputStream in)` Required to deserialize the object when read in from the wire
`void` `writeTo(java.io.DataOutputStream out)` Write the entire state of the current object (including superclasses) to outstream.

### Methods inherited from class org.jgroups.auth.AuthToken

`setAuth`

### 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

#### init

    public void init()

Overrides:
  `init` in class `AuthToken`

#### 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.DataOutputStream out)
                 throws java.io.IOException

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

Throws:
  `java.io.IOException`

#### readFrom

    public void readFrom(java.io.DataInputStream in)
                  throws java.io.IOException,
                         java.lang.IllegalAccessException,
                         java.lang.InstantiationException

Required to deserialize the object when read in from the wire

Parameters:
  `in` -
Throws:
  `java.io.IOException`
  `java.lang.IllegalAccessException`
  `java.lang.InstantiationException`