
org.ldaptive.ext.MergeRequest Maven / Gradle / Ivy
/* See LICENSE for licensing and NOTICE for copyright. */
package org.ldaptive.ext;
import java.util.Arrays;
import org.ldaptive.AbstractRequest;
import org.ldaptive.LdapEntry;
/**
* Contains the data required to perform a merge operation.
*
* @author Middleware Services
*/
public class MergeRequest extends AbstractRequest
{
/** Ldap entry to merge. */
private LdapEntry ldapEntry;
/** Whether to delete the entry. */
private boolean deleteEntry;
/** Attribute names to include in the search. */
private String[] searchAttrs;
/** Attribute names to include when performing a merge. */
private String[] includeAttrs;
/** Attribute names to exclude when performing a merge. */
private String[] excludeAttrs;
/** Default constructor. */
public MergeRequest() {}
/**
* Creates a new merge request.
*
* @param entry to merge into the LDAP
*/
public MergeRequest(final LdapEntry entry)
{
setEntry(entry);
}
/**
* Creates a new merge request.
*
* @param entry to merge into the LDAP
* @param delete whether the supplied entry should be deleted
*/
public MergeRequest(final LdapEntry entry, final boolean delete)
{
setEntry(entry);
setDeleteEntry(delete);
}
/**
* Returns the ldap entry to merge.
*
* @return ldap entry to merge
*/
public LdapEntry getEntry()
{
return ldapEntry;
}
/**
* Sets the ldap entry to merge into the LDAP.
*
* @param entry to merge
*/
public void setEntry(final LdapEntry entry)
{
ldapEntry = entry;
}
/**
* Returns whether to delete the entry.
*
* @return whether to delete the entry
*/
public boolean getDeleteEntry()
{
return deleteEntry;
}
/**
* Sets whether to delete the entry.
*
* @param b whether to delete the entry
*/
public void setDeleteEntry(final boolean b)
{
deleteEntry = b;
}
/**
* Returns the names of attributes that are used when searching for the entry.
*
* @return attribute names to return when searching
*/
public String[] getSearchAttributes()
{
return searchAttrs;
}
/**
* Sets the list of attribute names that are used when searching for the entry.
*
* @param attrs names to return when searching
*/
public void setSearchAttributes(final String... attrs)
{
searchAttrs = attrs;
}
/**
* Returns the names of attributes that are included when performing a modify.
*
* @return attribute names to include
*/
public String[] getIncludeAttributes()
{
return includeAttrs;
}
/**
* Sets the list of attribute names to include when performing modify.
*
* @param attrs names to include
*/
public void setIncludeAttributes(final String... attrs)
{
includeAttrs = attrs;
}
/**
* Returns the names of attributes that are excluded when performing a modify.
*
* @return attribute names to exclude
*/
public String[] getExcludeAttributes()
{
return excludeAttrs;
}
/**
* Sets the list of attribute names to exclude when performing a modify.
*
* @param attrs names to exclude
*/
public void setExcludeAttributes(final String... attrs)
{
excludeAttrs = attrs;
}
@Override
public String toString()
{
return
String.format(
"[%s@%d::ldapEntry=%s, deleteEntry=%s, searchAttributes=%s, " +
"includeAttributes=%s, excludeAttributes=%s, controls=%s, " +
"referralHandler=%s, intermediateResponseHandlers=%s]",
getClass().getName(),
hashCode(),
ldapEntry,
deleteEntry,
Arrays.toString(searchAttrs),
Arrays.toString(includeAttrs),
Arrays.toString(excludeAttrs),
Arrays.toString(getControls()),
getReferralHandler(),
Arrays.toString(getIntermediateResponseHandlers()));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy