All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.tsl2.nano.service.util.finder.Member Maven / Gradle / Ivy

Go to download

TSL2 JEE Service Access (Generic Services for Entity Access, JEE File-System-Connector, Generic Featuring, Job-Scheduling, BeanContainer, Batch, Comfortable Bean Query Definitions, JAAS, Authentification, Authorization, )

There is a newer version: 2.5.4b
Show newest version
package de.tsl2.nano.service.util.finder;

import static de.tsl2.nano.service.util.ServiceUtil.addMemberExpression;

import java.util.Arrays;
import java.util.Collection;

/**
 * member finder
 * 
 * @param  result bean type
 * @author Thomas Schneider, Thomas Schneider
 * @version $Revision$
 */
public class Member extends AbstractFinder {
    /** serialVersionUID */
    private static final long serialVersionUID = 7667346649256697587L;

    public Member(H holder, Class beanType, String attributeName, Class... relationsToLoad) {
        super(beanType, relationsToLoad);
        par = Arrays.asList(holder, beanType, attributeName);
    }

    @Override
    StringBuffer createQuery(StringBuffer currentQuery,
            Collection parameter,
            Collection> lazyRelations) {
        return addMemberExpression(currentQuery,
            getSubSelectSubst(),
            index,
            par.get(0),
            (Class) par.get(1),
            (String) par.get(2));
    }
}