public final class

AnnotationValue

extends java.lang.Object

 java.lang.Object

↳androidx.test.services.events.AnnotationValue

Gradle dependencies

compile group: 'androidx.test', name: 'runner', version: '1.6.2'

  • groupId: androidx.test
  • artifactId: runner
  • version: 1.6.2

Artifact androidx.test:runner:1.6.2 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.test:runner com.android.support.test:runner

Overview

Represents a field value on an java.lang.annotation.Annotation.

See Android Parcelable.

Summary

Fields
public static final <any>CREATOR

public final java.lang.StringfieldName

Name of the field in a java.lang.annotation.Annotation.

public final java.util.List<java.lang.String>fieldValues

Values of the annotation's field represented as java.lang.Strings.

public final java.lang.StringvalueType

The type of the values, e.g.

Constructors
publicAnnotationValue(java.lang.String fieldName, java.util.List<java.lang.String> fieldValues, java.lang.String valueType)

Constructor to create an AnnotationValue.

Methods
public intdescribeContents()

public voidwriteToParcel(Parcel parcel, int i)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Fields

public final java.lang.String fieldName

Name of the field in a java.lang.annotation.Annotation.

public final java.util.List<java.lang.String> fieldValues

Values of the annotation's field represented as java.lang.Strings.

public final java.lang.String valueType

The type of the values, e.g. java.lang.Integer.

public static final <any> CREATOR

Constructors

public AnnotationValue(java.lang.String fieldName, java.util.List<java.lang.String> fieldValues, java.lang.String valueType)

Constructor to create an AnnotationValue.

Parameters:

fieldName: Name of the field in a java.lang.annotation.Annotation
fieldValues: Values of the annotation's field represented as java.lang.Strings
valueType: The type of the values, e.g. java.lang.Integer

Methods

public int describeContents()

public void writeToParcel(Parcel parcel, int i)

Source

/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.test.services.events;

import static androidx.test.internal.util.Checks.checkNotNull;

import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import java.util.ArrayList;
import java.util.List;

/**
 * Represents a field value on an {@link java.lang.annotation.Annotation}.
 *
 * <p>See <a href="https://developer.android.com/reference/android/os/Parcelable.html">Android
 * Parcelable</a>.
 *
 * @hide
 */
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public final class AnnotationValue implements Parcelable {
  /** Name of the field in a {@link java.lang.annotation.Annotation}. */
  @NonNull public final String fieldName;
  /** Values of the annotation's field represented as {@link String}s. */
  @NonNull public final List<String> fieldValues;
  /** The type of the values, e.g. {@link Integer}. */
  @NonNull public final String valueType;

  /**
   * Constructor to create an {@link AnnotationValue}.
   *
   * @param fieldName Name of the field in a {@link java.lang.annotation.Annotation}
   * @param fieldValues Values of the annotation's field represented as {@link String}s
   * @param valueType The type of the values, e.g. {@link Integer}
   */
  public AnnotationValue(
      @NonNull String fieldName, @NonNull List<String> fieldValues, @NonNull String valueType) {
    checkNotNull(fieldName, "fieldName cannot be null");
    checkNotNull(fieldValues, "fieldValues cannot be null");
    checkNotNull(valueType, "valueType cannot be null");
    this.fieldName = fieldName;
    this.fieldValues = fieldValues;
    this.valueType = valueType;
  }

  private AnnotationValue(Parcel source) {
    fieldName = source.readString();
    fieldValues = new ArrayList<>();
    source.readStringList(fieldValues);
    valueType = source.readString();
  }

  @Override
  public int describeContents() {
    return 0;
  }

  @Override
  public void writeToParcel(Parcel parcel, int i) {
    parcel.writeString(fieldName);
    parcel.writeStringList(fieldValues);
    parcel.writeString(valueType);
  }

  public static final Creator<AnnotationValue> CREATOR =
      new Creator<AnnotationValue>() {
        @Override
        public AnnotationValue createFromParcel(Parcel source) {
          return new AnnotationValue(source);
        }

        @Override
        public AnnotationValue[] newArray(int size) {
          return new AnnotationValue[size];
        }
      };
}