repository.grepcode.com$java$root@jdk$openjdk@6-b14
repository.grepcode.com$java$root@jdk$openjdk@6-b14@java$lang$annotation$Annotation.java
file
oh
o
[]
Guys is there a way to pass a Annotation as a direct parameter (rather by doing all the reflection overhead)? For example in the following code, I have a annotation Number that holds a int value, I want to pass as a parameter to the addImpl method, how can I do that (other than by reflection)?
Code Snippet:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.PARAMETER...
How can I create an instance of the following annotation (with all fields set to their default value).
@Retention( RetentionPolicy.RUNTIME )
public @interface Settings {
String a() default "AAA";
String b() default "BBB";
String c() default "CCC";
}
I tried new Settings(), but that does not seem to work...
How would you implement this method:
public boolean equal(Annotation a1, Annotation a2) {
...
}
Sample input ():
@First(name="1", value="1"), @Second(name="1", value="1")
@First(value="2"), @First(name="2")
@First(value="3"), @First(value="3")
@Second(name="4", value="4), @Second(name="4", value="4")
Sample output:
false
false
true
true
As you can see, the expect...
package java.lang.annotation;
The common interface extended by all annotation types. Note that an
interface that manually extends this one does
not define
an annotation type. Also note that this interface does not itself
define an annotation type.
- Author(s):
- Josh Bloch
- Since:
- 1.5
Returns true if the specified object represents an annotation
that is logically equivalent to this one. In other words,
returns true if the specified object is an instance of the same
annotation type as this instance, all of whose members are equal
to the corresponding member of this annotation, as defined below:
- Two corresponding primitive typed members whose values are
x and y are considered equal if x == y,
unless their type is float or double.
- Two corresponding float members whose values
are x and y are considered equal if
Float.valueOf(x).equals(Float.valueOf(y)).
(Unlike the == operator, NaN is considered equal
to itself, and 0.0f unequal to -0.0f.)
- Two corresponding double members whose values
are x and y are considered equal if
Double.valueOf(x).equals(Double.valueOf(y)).
(Unlike the == operator, NaN is considered equal
to itself, and 0.0 unequal to -0.0.)
- Two corresponding String, Class, enum, or
annotation typed members whose values are x and y
are considered equal if x.equals(y). (Note that this
definition is recursive for annotation typed members.)
- Two corresponding array typed members x and y
are considered equal if Arrays.equals(x, y), for the
appropriate overloading of
java.lang.Object.equals(java.lang.Object).
- Returns:
- true if the specified object represents an annotation
that is logically equivalent to this one, otherwise false
Returns the hash code of this annotation, as defined below:
The hash code of an annotation is the sum of the hash codes
of its members (including those with default values), as defined
below:
The hash code of an annotation member is (127 times the hash code
of the member-name as computed by java.lang.String.hashCode()) XOR
the hash code of the member-value, as defined below:
The hash code of a member-value depends on its type:
- The hash code of a primitive value v is equal to
WrapperType.valueOf(v).hashCode(), where
WrapperType is the wrapper type corresponding
to the primitive type of v (
java.lang.Byte,
java.lang.Character, java.lang.Double, java.lang.Float, java.lang.Integer,
java.lang.Long, java.lang.Short, or java.lang.Boolean).
- The hash code of a string, enum, class, or annotation member-value
I v is computed as by calling
v.hashCode(). (In the case of annotation
member values, this is a recursive definition.)
- The hash code of an array member-value is computed by calling
the appropriate overloading of
Arrays.hashCode
on the value. (There is one overloading for each primitive
type, and one for object reference types.)
- Returns:
- the hash code of this annotation
Returns a string representation of this annotation. The details
of the representation are implementation-dependent, but the following
may be regarded as typical:
@com.acme.util.Name(first=Alfred, middle=E., last=Neuman)
- Returns:
- a string representation of this annotation
Returns the annotation type of this annotation.