package org.apache.catalina.tribes.membership;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
* @author Peter Rossbach
* @version $Id$
*/
-public class Membership
-{
+public class Membership implements Cloneable {
+
protected static final MemberImpl[] EMPTY_MEMBERS = new MemberImpl[0];
private final Object membersLock = new Object();
// --------------------------------------------- Inner Class
- private class MemberComparator implements Comparator<Member> {
+ private static class MemberComparator implements Comparator<Member>,
+ Serializable {
+
+ private static final long serialVersionUID = 1L;
+ @Override
public int compare(Member m1, Member m2) {
//longer alive time, means sort first
long result = m2.getMemberAliveTime() - m1.getMemberAliveTime();
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((file == null) ? 0 : file.hashCode());
+ result = prime * result + ((host == null) ? 0 : host.hashCode());
+ result = prime * result + port;
+ result = prime * result +
+ ((protocol == null) ? 0 : protocol.hashCode());
+ result = prime * result + ((ref == null) ? 0 : ref.hashCode());
+ return result;
+ }
+
+
/**
* Return the authority part of the URL.
*/