javastrava.service.GearService Maven / Gradle / Ivy
Show all versions of javastrava-api Show documentation
package javastrava.service;
import java.util.concurrent.CompletableFuture;
import javastrava.model.StravaActivity;
import javastrava.model.StravaAthlete;
import javastrava.model.StravaGear;
import javastrava.model.reference.StravaResourceState;
import javastrava.service.exception.UnauthorizedException;
/**
*
* {@link StravaGear} related services.
*
*
*
* StravaGear represents equipment used during an {@link StravaActivity}.
*
*
*
* The object is returned in summary or detailed {@link StravaResourceState representations}.
*
*
* @author Dan Shannon
*
*/
public interface GearService extends StravaService {
/**
*
* Retrieve details about a specific item of {@link StravaGear}. The requesting {@link StravaAthlete} must own the {@link StravaGear}. At this time it is
* not possible to view just anyone's gear type and usage.
*
*
*
* Returns null
if club with the given id does not exist
*
*
*
* URL GET https://www.strava.com/api/v3/gear/:id
*
*
* @see http://strava.github.io/api/v3/gear/#show
*
* @param gearId
* The id of the {@link StravaGear} to be retrieved.
* @return Returns a detailed {@link StravaGear} representation.
* @throws UnauthorizedException
* If service token is invalid
*/
public StravaGear getGear(final String gearId);
/**
*
* Retrieve details about a specific item of {@link StravaGear}. The requesting {@link StravaAthlete} must own the {@link StravaGear}. At this time it is
* not possible to view just anyone's gear type and usage.
*
*
*
* Returns null
if club with the given id does not exist
*
*
*
* URL GET https://www.strava.com/api/v3/gear/:id
*
*
* @see http://strava.github.io/api/v3/gear/#show
*
* @param gearId
* The id of the {@link StravaGear} to be retrieved.
* @return Returns a detailed {@link StravaGear} representation.
* @throws UnauthorizedException
* If service token is invalid
*/
public CompletableFuture getGearAsync(final String gearId);
}