1 package com.android.onboarding.versions.annotations
2 
3 /**
4  * Annotation used to indicate that the passed value must either be a long constant annotated with
5  * [ChangeId] or a variable which itself was annotated [ValidChangeId].
6  *
7  * @param allowedChangeRadii The change radius allowed for passed change IDs
8  * @param disallowedChangeRadiiError The error to use if a change ID with an invalid change radius
9  *   is provided. This should ideally tell the developer what to do.
10  */
11 @Target(AnnotationTarget.VALUE_PARAMETER)
12 @Retention(AnnotationRetention.BINARY)
13 annotation class ValidChangeId(
14   val allowedChangeRadii: Array<ChangeRadius> =
15     [ChangeRadius.SINGLE_COMPONENT, ChangeRadius.MULTI_COMPONENT],
16   val disallowedChangeRadiiError: String =
17     "The provided change ID does not have a valid change radius.",
18 )
19