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

org.apache.commons.attributes.Target Maven / Gradle / Ivy

There is a newer version: 2.2
Show newest version
package org.apache.commons.attributes;

/**
 * Attribute indicating what elements an attribute may be applied to.
 * This is checked at runtime. If the attribute is absent, it defaults
 * to Target.ALL.
 *
 * 

This attribute is intended to be used with attribute classes: * *


 * / **
 *   * MyAttribute can only be applied to classes and fields, not methods.
 *   * @@Target(Target.CLASS | Target.FIELD)
 *   * /
 * public class MyAttribute { ... }
 * 
*/ public class Target { /** * Indicates that the attribute can be applied to a class or interface. */ public static final int CLASS = 1; /** * Indicates that the attribute can be applied to a field. */ public static final int FIELD = 2; /** * Indicates that the attribute can be applied to a method. */ public static final int METHOD = 4; /** * Indicates that the attribute can be applied to a constructor. */ public static final int CONSTRUCTOR = 8; /** * Indicates that the attribute can be applied to a method parameter. */ public static final int METHOD_PARAMETER = 16; /** * Indicates that the attribute can be applied to a constructor parameter. */ public static final int CONSTRUCTOR_PARAMETER = 32; /** * Indicates that the attribute can be applied to a method return value. */ public static final int RETURN = 64; /** * Indicates that the attribute can be applied to a parameter of a method or a constructor. * It is equal to METHOD_PARAMETER | CONSTRUCTOR_PARAMETER. */ public static final int PARAMETER = METHOD_PARAMETER | CONSTRUCTOR_PARAMETER; /** * Indicates that the attribute can be applied to any program element. */ public static final int ALL = CLASS | FIELD | METHOD | CONSTRUCTOR | PARAMETER | RETURN; private final int flags; /** * Creates a new target attribute. * * @param flags a bitwise or of flags indicating the allowed targets. */ public Target (int flags) { this.flags = flags; } /** * Returns an int that is the bitwise or of the allowed target flags. */ public int getFlags () { return flags; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy