package com.capgemini.reports.teamcenter.queries.saved;

import com.capgemini.framework.teamcenter.authent.TcSession;
import com.capgemini.framework.teamcenter.queries.saved.AbstractReplicatedQuery;
import com.teamcenter.soa.client.model.ModelObject;

/**
 * This class is able to look for Generic objects in Teamcenter.
 */
public class GenericQuery<T extends ModelObject> extends AbstractReplicatedQuery<T, GenericQuery<T>> {

    /*** Query name of Teamcenter for requesting a Generic. */
    private static final String QUERY_SUFFIX_GENERIC = "Generic";

    /**
     * Constructor to build a Query for Generic objects.
     *
     * @param session the session for the connection
     */
    public GenericQuery(final TcSession session) {
        super(session, QUERY_SUFFIX_GENERIC);
    }

    @Override
    protected GenericQuery<T> selfCast() {
        return this;
    }

}
