package com.hwlcn.ldap.ldap.sdk.migrate.ldapjdk; import java.io.Serializable; import com.hwlcn.core.annotation.Mutable; import com.hwlcn.core.annotation.NotExtensible; import com.hwlcn.core.annotation.ThreadSafety; import com.hwlcn.ldap.util.ThreadSafetyLevel; @NotExtensible() @Mutable() @ThreadSafety(level=ThreadSafetyLevel.NOT_THREADSAFE) public class LDAPConstraints implements Serializable { private static final long serialVersionUID = 6843729471197926148L; private boolean followReferrals; private int hopLimit; private int timeLimit; private LDAPBind bindProc; private LDAPControl[] clientControls; private LDAPControl[] serverControls; private LDAPRebind rebindProc; public LDAPConstraints() { bindProc = null; clientControls = new LDAPControl[0]; followReferrals = false; hopLimit = 5; rebindProc = null; serverControls = new LDAPControl[0]; timeLimit = 0; } public LDAPConstraints(final int msLimit, final boolean doReferrals, final LDAPBind bindProc, final int hopLimit) { this(); timeLimit = msLimit; followReferrals = doReferrals; this.bindProc = bindProc; this.hopLimit = hopLimit; } public LDAPConstraints(final int msLimit, final boolean doReferrals, final LDAPRebind rebindProc, final int hopLimit) { this(); timeLimit = msLimit; followReferrals = doReferrals; this.rebindProc = rebindProc; this.hopLimit = hopLimit; } public int getTimeLimit() { return timeLimit; } public void setTimeLimit(final int timeLimit) { if (timeLimit < 0) { this.timeLimit = 0; } else { this.timeLimit = timeLimit; } } public boolean getReferrals() { return followReferrals; } public void setReferrals(final boolean doReferrals) { followReferrals = doReferrals; } public LDAPBind getBindProc() { return bindProc; } public void setBindProc(final LDAPBind bindProc) { this.bindProc = bindProc; } public LDAPRebind getRebindProc() { return rebindProc; } public void setRebindProc(final LDAPRebind rebindProc) { this.rebindProc = rebindProc; } public int getHopLimit() { return hopLimit; } public void setHopLimit(final int hopLimit) { if (hopLimit < 0) { this.hopLimit = 0; } else { this.hopLimit = hopLimit; } } public LDAPControl[] getClientControls() { return clientControls; } public void setClientControls(final LDAPControl control) { clientControls = new LDAPControl[] { control }; } public void setClientControls(final LDAPControl[] controls) { if (controls == null) { clientControls = new LDAPControl[0]; } else { clientControls = controls; } } public LDAPControl[] getServerControls() { return serverControls; } public void setServerControls(final LDAPControl control) { serverControls = new LDAPControl[] { control }; } public void setServerControls(final LDAPControl[] controls) { if (controls == null) { serverControls = new LDAPControl[0]; } else { serverControls = controls; } } public LDAPConstraints duplicate() { final LDAPConstraints c = new LDAPConstraints(); c.bindProc = bindProc; c.clientControls = clientControls; c.followReferrals = followReferrals; c.hopLimit = hopLimit; c.rebindProc = rebindProc; c.serverControls = serverControls; c.timeLimit = timeLimit; return c; } @Override() public String toString() { final StringBuilder buffer = new StringBuilder(); buffer.append("LDAPConstraints(followReferrals="); buffer.append(followReferrals); buffer.append(", bindProc="); buffer.append(String.valueOf(bindProc)); buffer.append(", rebindProc="); buffer.append(String.valueOf(rebindProc)); buffer.append(", hopLimit="); buffer.append(hopLimit); buffer.append(", timeLimit="); buffer.append(timeLimit); buffer.append(", clientControls={"); for (int i=0; i < clientControls.length; i++) { if (i > 0) { buffer.append(", "); } buffer.append(clientControls[i].toString()); } buffer.append("}, serverControls={"); for (int i=0; i < serverControls.length; i++) { if (i > 0) { buffer.append(", "); } buffer.append(serverControls[i].toString()); } buffer.append("})"); return buffer.toString(); } }