/*
 * Copyright 2015 Hewlett-Packard Development Company, L.P.
 * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
 */

package com.hp.autonomy.hod.client.job;

import com.hp.autonomy.hod.client.error.HodErrorException;
import com.hp.autonomy.hod.client.token.TokenProxy;

public interface JobService<T extends JobStatus<?>> {

    T getJobStatus(JobId jobId) throws HodErrorException;

    T getJobStatus(TokenProxy tokenProxy, JobId jobId) throws HodErrorException;

    T getJobResult(JobId jobId) throws HodErrorException;

    T getJobResult(TokenProxy tokenProxy, JobId jobId) throws HodErrorException;

}

@@ -334,262 +334,1375 @@
 y;%0A%0A
-public interface JobService%3CT extends JobStatus%3C?%3E%3E %7B%0A%0A    T getJobStatus(JobId jobId) throws HodErrorException;%0A%0A    T getJobStatus(TokenProxy tokenProxy, JobId jobId) throws HodErrorException;%0A%0A    T getJobResult(JobId jobId) throws HodErrorException;%0A
+/**%0A * Service for interacting with the job APIs%0A * @param %3CT%3E The expected type of the result of jobs retrieved from this service%0A */%0Apublic interface JobService%3CT extends JobStatus%3C?%3E%3E %7B%0A%0A    /**%0A     * Retrieve the status of a job using a token proxy provided by a %7B@link com.hp.autonomy.hod.client.token.TokenProxyService%7D%0A     * @param jobId The id of the job%0A     * @return The status of the job%0A     * @throws HodErrorException%0A     */%0A    T getJobStatus(JobId jobId) throws HodErrorException;%0A%0A    /**%0A     * Retrieve the status of a job using the given token proxy%0A     * @param jobId The id of the job%0A     * @param tokenProxy The token proxy to use%0A     * @return The status of the job%0A     * @throws HodErrorException%0A     */%0A    T getJobStatus(TokenProxy tokenProxy, JobId jobId) throws HodErrorException;%0A%0A    /**%0A     * Retrieve the status of a job using a token proxy provided by a %7B@link com.hp.autonomy.hod.client.token.TokenProxyService%7D%0A     * @param jobId The id of the job%0A     * @return The status of the job%0A     * @throws HodErrorException%0A     */%0A    T getJobResult(JobId jobId) throws HodErrorException;%0A%0A    /**%0A     * Retrieve the status of a job using the given token proxy%0A     * @param jobId The id of the job%0A     * @param tokenProxy The token proxy to use%0A     * @return The status of the job%0A     * @throws HodErrorException%0A     */
 %0A   

Document JobService