Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.lang.model.util
Interface Elements

    public interface Elements

Utility methods for operating on program elements.

Compatibility Note: Methods may be added to this interface in future releases of the platform.

Since:
  1.6
See Also:
  `ProcessingEnvironment.getElementUtils()`

Method Summary
`List<? extends AnnotationMirror>` | `getAllAnnotationMirrors(Element e)` Returns all annotations of an element, whether inherited or directly present.
`List<? extends Element>` | `getAllMembers(TypeElement type)` Returns all members of a type element, whether inherited or declared directly.
`Name` | `getBinaryName(TypeElement type)` Returns the binary name of a type element.
`String` | `getConstantExpression(Object value)` Returns the text of a constant expression representing a primitive value or a string.
`String` | `getDocComment(Element e)` Returns the text of the documentation ("Javadoc") comment of an element.
`Map<? extends ExecutableElement,? extends AnnotationValue>` | `getElementValuesWithDefaults(AnnotationMirror a)` Returns the values of an annotation's elements, including defaults.
`Name` | `getName(CharSequence cs)` Return a name with the same sequence of characters as the argument.
`PackageElement` | `getPackageElement(CharSequence name)` Returns a package given its fully qualified name.
`PackageElement` | `getPackageOf(Element type)` Returns the package of an element.
`TypeElement` | `getTypeElement(CharSequence name)` Returns a type element given its canonical name.
`boolean` | `hides(Element hider, Element hidden)` Tests whether one type, method, or field hides another.
`boolean` | `isDeprecated(Element e)` Returns `true` if the element is deprecated, `false` otherwise.
`boolean` | `overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)` Tests whether one method, as a member of a given type, overrides another method.
`void` | `printElements(Writer w, Element... elements)` Prints a representation of the elements to the given writer in the specified order.

Method Detail

### getPackageElement

    PackageElement getPackageElement(CharSequence name)

  Returns a package given its fully qualified name.

  Parameters:
    `name` - fully qualified package name, or "" for an unnamed package
  Returns:
    the named package, or `null` if it cannot be found

### getTypeElement

    TypeElement getTypeElement(CharSequence name)

  Returns a type element given its canonical name.

  Parameters:
    `name` - the canonical name
  Returns:
    the named type element, or `null` if it cannot be found

### getElementValuesWithDefaults

    Map<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)

  Returns the values of an annotation's elements, including defaults.

  Parameters:
    `a` - annotation to examine
  Returns:
    the values of the annotation's elements, including defaults
  See Also:
    `AnnotationMirror.getElementValues()`

### getDocComment

    String getDocComment(Element e)

  Returns the text of the documentation ("Javadoc") comment of an element.

  Parameters:
    `e` - the element being examined
  Returns:
    the documentation comment of the element, or `null` if there is none

### isDeprecated

    boolean isDeprecated(Element e)

  Returns `true` if the element is deprecated, `false` otherwise.

  Parameters:
    `e` - the element being examined
  Returns:
    `true` if the element is deprecated, `false` otherwise

### getBinaryName

    Name getBinaryName(TypeElement type)

  Returns the binary name of a type element.

  Parameters:
    `type` - the type element being examined
  Returns:
    the binary name
  See Also:
    `TypeElement.getQualifiedName()`
  See The Java Language Specification, Third Edition:
    13.1 The Form of a Binary

### getPackageOf

    PackageElement getPackageOf(Element type)

  Returns the package of an element. The package of a package is itself.

  Parameters:
    `type` - the element being examined
  Returns:
    the package of an element

### getAllMembers

    List<? extends Element> getAllMembers(TypeElement type)

  Returns all members of a type element, whether inherited or declared directly. For a class the result also includes its constructors, but not local or anonymous classes.

  Note that elements of certain kinds can be isolated using methods in `ElementFilter`.

  Parameters:
    `type` - the type being examined
  Returns:
    all members of the type
  See Also:
    `Element.getEnclosedElements()`

### getAllAnnotationMirrors

    List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)

  Returns all annotations of an element, whether inherited or directly present.

  Parameters:
    `e` - the element being examined
  Returns:
    all annotations of the element
  See Also:
    `Element.getAnnotationMirrors()`

### hides

    boolean hides(Element hider,
                  Element hidden)

  Tests whether one type, method, or field hides another.

  Parameters:
    `hider` - the first element
    `hidden` - the second element
  Returns:
    `true` if and only if the first element hides the second

### overrides

    boolean overrides(ExecutableElement overrider,
                      ExecutableElement overridden,
                      TypeElement type)

  Tests whether one method, as a member of a given type, overrides another method. When a non-abstract method overrides an abstract one, the former is also said to implement the latter.

  In the simplest and most typical usage, the value of the `type` parameter will simply be the class or interface directly enclosing `overrider` (the possibly-overriding method). For example, suppose `m1` represents the method `String.hashCode` and `m2` represents `Object.hashCode`. We can then ask whether `m1` overrides `m2` within the class `String` (it does):

  > `assert elements.overrides(m1, m2, elements.getTypeElement("java.lang.String"));`

  A more interesting case can be illustrated by the following example in which a method in type `A` does not override a like-named method in type `B`:

  > `class A { public void m() {} }`
  > `interface B { void m(); }`
  > ...
  > `m1 = ...; // A.m`
  > `m2 = ...; // B.m`
  > `assert ! elements.overrides(m1, m2, elements.getTypeElement("A"));`

  When viewed as a member of a third type `C`, however, the method in `A` does override the one in `B`:

  > `class C extends A implements B {}`
  > ...
  > `assert elements.overrides(m1, m2, elements.getTypeElement("C"));`

  Parameters:
    `overrider` - the first method, possible overrider
    `overridden` - the second method, possibly being overridden
    `type` - the type of which the first method is a member
  Returns:
    `true` if and only if the first method overrides the second
  See The Java Language Specification, Third Edition:
    8.4.8 Inheritance, Overriding, and Hiding, 9.4.1 Inheritance and Overriding

### getConstantExpression

    String getConstantExpression(Object value)

  Returns the text of a constant expression representing a primitive value or a string. The text returned is in a form suitable for representing the value in source code.

  Parameters:
    `value` - a primitive value or string
  Returns:
    the text of a constant expression
  Throws:
    `IllegalArgumentException` - if the argument is not a primitive value or string
  See Also:
    `VariableElement.getConstantValue()`

### printElements

    void printElements(Writer w,
                       Element... elements)

  Prints a representation of the elements to the given writer in the specified order. The main purpose of this method is for diagnostics. The exact format of the output is not specified and is subject to change.

  Parameters:
    `w` - the writer to print the output to
    `elements` - the elements to print

### getName

    Name getName(CharSequence cs)

  Return a name with the same sequence of characters as the argument.

  Parameters:
    `cs` - the character sequence to return as a name

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.