All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.lang.model.element.VariableElement Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2021 ZeoFlow SRL
 *
 * 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 javax.lang.model.element;

import javax.lang.model.util.Elements;

/**
 * Represents a field, {@code enum} constant, method or constructor
 * parameter, local variable, resource variable, or exception
 * parameter.
 *
 * @author Joseph D. Darcy
 * @author Scott Seligman
 * @author Peter von der Ahé
 * @since 1.6
 */
public interface VariableElement extends javax.lang.model.element.Element
{

    /**
     * Returns the value of this variable if this is a {@code final}
     * field initialized to a compile-time constant.  Returns {@code
     * null} otherwise.  The value will be of a primitive type or a
     * {@code String}.  If the value is of a primitive type, it is
     * wrapped in the appropriate wrapper class (such as {@link
     * Integer}).
     *
     * 

Note that not all {@code final} fields will have * constant values. In particular, {@code enum} constants are * not considered to be compile-time constants. To have a * constant value, a field's type must be either a primitive type * or {@code String}. * * @return the value of this variable if this is a {@code final} * field initialized to a compile-time constant, or {@code null} * otherwise * * @see Elements#getConstantExpression(Object) */ Object getConstantValue(); /** * Returns the simple name of this variable element. * *

For method and constructor parameters, the name of each * parameter must be distinct from the names of all other * parameters of the same executable. If the original source * names are not available, an implementation may synthesize names * subject to the distinctness requirement above. * * @return the simple name of this variable element */ @Override Name getSimpleName(); /** * Returns the enclosing element of this variable. *

* The enclosing element of a method or constructor parameter is * the executable declaring the parameter. * * @return the enclosing element of this variable */ @Override Element getEnclosingElement(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy