org.ldaptive.props.SearchRequestPropertyInvoker Maven / Gradle / Ivy
/*
$Id: SearchRequestPropertyInvoker.java 2885 2014-02-05 21:28:49Z dfisher $
Copyright (C) 2003-2014 Virginia Tech.
All rights reserved.
SEE LICENSE FOR MORE INFORMATION
Author: Middleware Services
Email: [email protected]
Version: $Revision: 2885 $
Updated: $Date: 2014-02-05 16:28:49 -0500 (Wed, 05 Feb 2014) $
*/
package org.ldaptive.props;
import org.ldaptive.SearchFilter;
import org.ldaptive.control.RequestControl;
import org.ldaptive.handler.IntermediateResponseHandler;
import org.ldaptive.handler.SearchEntryHandler;
import org.ldaptive.handler.SearchReferenceHandler;
/**
* Handles properties for {@link org.ldaptive.SearchRequest}.
*
* @author Middleware Services
* @version $Revision: 2885 $ $Date: 2014-02-05 16:28:49 -0500 (Wed, 05 Feb 2014) $
*/
public class SearchRequestPropertyInvoker extends AbstractPropertyInvoker
{
/**
* Creates a new search request property invoker for the supplied class.
*
* @param c class that has setter methods
*/
public SearchRequestPropertyInvoker(final Class> c)
{
initialize(c);
}
/** {@inheritDoc} */
@Override
protected Object convertValue(final Class> type, final String value)
{
Object newValue = value;
if (type != String.class) {
if (SearchFilter.class.isAssignableFrom(type)) {
newValue = new SearchFilter(value);
} else if (RequestControl[].class.isAssignableFrom(type)) {
newValue = createArrayTypeFromPropertyValue(
RequestControl.class,
value);
} else if (SearchEntryHandler[].class.isAssignableFrom(type)) {
newValue = createArrayTypeFromPropertyValue(
SearchEntryHandler.class,
value);
} else if (SearchReferenceHandler[].class.isAssignableFrom(type)) {
newValue = createArrayTypeFromPropertyValue(
SearchReferenceHandler.class,
value);
} else if (IntermediateResponseHandler[].class.isAssignableFrom(type)) {
newValue = createArrayTypeFromPropertyValue(
IntermediateResponseHandler.class,
value);
} else {
newValue = convertSimpleType(type, value);
}
}
return newValue;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy