Share via


ElementType Class

Definition

The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program.

[Android.Runtime.Register("java/lang/annotation/ElementType", DoNotGenerateAcw=true)]
public sealed class ElementType : Java.Lang.Enum
[<Android.Runtime.Register("java/lang/annotation/ElementType", DoNotGenerateAcw=true)>]
type ElementType = class
    inherit Enum
Inheritance
ElementType
Attributes

Remarks

The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program. These constants are used in java.lang.annotation.Target Target meta-annotations to specify where it is legal to write annotations of a given type.

The syntactic locations where annotations may appear are split into <em>declaration contexts</em>, where annotations apply to declarations, and <em>type contexts</em>, where annotations apply to types used in declarations and expressions.

The constants #ANNOTATION_TYPE, #CONSTRUCTOR, #FIELD, #LOCAL_VARIABLE, #METHOD, #PACKAGE, #MODULE, #PARAMETER, #TYPE, and #TYPE_PARAMETER correspond to the declaration contexts in JLS 9.6.4.1.

For example, an annotation whose interface is meta-annotated with @Target(ElementType.FIELD) may only be written as a modifier for a field declaration.

The constant #TYPE_USE corresponds to the type contexts in JLS 4.11, as well as to two declaration contexts: class and interface declarations (including annotation declarations) and type parameter declarations.

For example, an annotation whose interface is meta-annotated with @Target(ElementType.TYPE_USE) may be written on the class or interface of a field (or within the class or interface of the field, if it is a nested or parameterized class or interface, or array class), and may also appear as a modifier for, say, a class declaration.

The TYPE_USE constant includes class and interface declarations and type parameter declarations as a convenience for designers of type checkers which give semantics to annotation interfaces. For example, if the annotation interface NonNull is meta-annotated with @Target(ElementType.TYPE_USE), then @NonNullclass C {...} could be treated by a type checker as indicating that all variables of class C are non-null, while still allowing variables of other classes to be non-null or not non-null based on whether @NonNull appears at the variable's declaration.

Added in 1.5.

Java documentation for java.lang.annotation.ElementType.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Properties

AnnotationType

Annotation type declaration.

Class

Returns the runtime class of this Object.

(Inherited from Object)
Constructor

Constructor declaration.

DeclaringClass

Returns the Class object corresponding to this enum constant's enum type.

(Inherited from Enum)
Field

Field declaration.

Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode (Inherited from Object)
JniPeerMembers
LocalVariable

Local variable declaration.

Method

Method declaration.

Module
Package

Package declaration.

Parameter

Parameter declaration.

PeerReference (Inherited from Object)
RecordComponent
ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Enum)
ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Enum)
Type

Class, interface or enum declaration.

TypeParameter
TypeUse

Methods

Clone()

Throws CloneNotSupportedException.

(Inherited from Enum)
CompareTo(Object)

Compares this enum with the specified object for order.

(Inherited from Enum)
Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Equals(Object)

Returns true if the specified object is equal to this enum constant.

(Inherited from Enum)
GetHashCode()

Returns a hash code for this enum constant.

(Inherited from Enum)
JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
Name()

Returns the name of this enum constant, exactly as declared in its enum declaration.

(Inherited from Enum)
Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
Ordinal()

Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).

(Inherited from Enum)
SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (Inherited from Object)
ValueOf(String)
Values()
Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to