001// Copyright (c) FIRST and other WPILib contributors.
002// Open Source Software; you can modify and/or share it under the terms of
003// the WPILib BSD license file in the root directory of this project.
004
005package org.wpilib.driverstation;
006
007import java.lang.annotation.ElementType;
008import java.lang.annotation.Retention;
009import java.lang.annotation.RetentionPolicy;
010import java.lang.annotation.Target;
011
012/**
013 * An annotation to specify the UserControls implementation class to be used for a robot. Apply this
014 * annotation to your main robot class, providing a class that implements the UserControls
015 * interface.
016 */
017@Target(ElementType.TYPE)
018@Retention(RetentionPolicy.RUNTIME)
019public @interface UserControlsInstance {
020  /**
021   * The UserControls implementation class to be used.
022   *
023   * @return The class that implements UserControls.
024   */
025  Class<? extends UserControls> value();
026}