tangentum technologies    
 

Deutsch

   
   
 
    method-with-access

method-with-access

Name

method-with-access -- Selects methods with a specified access.

Synopsis

<... ... method-with-access="method-access (, method-access)*" ... />

Description

This condition-attribute evaluates to true for methods whose access-specifiers are members of a specified set of access-specifiers.

The set of access-specifiers is given as a comma-separated list of method-accesss, whose order is of no importance. Valid values for method-access are public, package, protected, and private.

Access-specifier vs. accessibility: This condition-attribute only cares about the access-specifier that is directly associated with a specific method. It doesn't care about the accessibility of a method from a specific scope, like public access, access from inside a package, or access from inside a class.

Example 1. Log methods with specific access

As an example take the following package with contained classes:

com.abc_company
com.abc_company.public_A_class
com.abc_company.public_A_class.public_f_method
com.abc_company.public_A_class.package_g_method
com.abc_company.public_A_class.protected_h_method
com.abc_company.public_A_class.private_i_method
com.abc_company.package_B_class
com.abc_company.package_B_class.public_C_class
com.abc_company.package_B_class.public_C_class.public_f_method
com.abc_company.package_B_class.public_C_class.package_g_method
com.abc_company.package_B_class.public_C_class.protected_h_method
com.abc_company.package_B_class.public_C_class.private_i_method
com.abc_company.package_B_class.package_D_class
com.abc_company.package_B_class.package_D_class.public_f_method
com.abc_company.package_B_class.package_D_class.package_g_method
com.abc_company.package_B_class.package_D_class.protected_h_method
com.abc_company.package_B_class.package_D_class.private_i_method
com.abc_company.package_B_class.protected_E_class
com.abc_company.package_B_class.protected_E_class.public_f_method
com.abc_company.package_B_class.protected_E_class.package_g_method
com.abc_company.package_B_class.protected_E_class.protected_h_method
com.abc_company.package_B_class.protected_E_class.private_i_method
com.abc_company.package_B_class.private_F_class
com.abc_company.package_B_class.private_F_class.public_f_method
com.abc_company.package_B_class.private_F_class.package_g_method
com.abc_company.package_B_class.private_F_class.protected_h_method
com.abc_company.package_B_class.private_F_class.private_i_method

Some selections with their results:

<log method-with-access="public"/>
<!-------------------------------------------------------------------------->
<!-- com.abc_company.public_A_class.public_f-method                       -->
<!-- com.abc_company.package_B_class.public_C_class.public_f-method       -->
<!-- com.abc_company.package_B_class.package_D_class.public_f-method      -->
<!-- com.abc_company.package_B_class.protected_E_class.public_f-method    -->
<!-- com.abc_company.package_B_class.private_F_class.public_f-method      -->


<log method-with-access="package"/>
<!-------------------------------------------------------------------------->
<!-- com.abc_company.public_A_class.package_g-method                      -->
<!-- com.abc_company.package_B_class.public_C_class.package_g-method      -->
<!-- com.abc_company.package_B_class.package_D_class.package_g-method     -->
<!-- com.abc_company.package_B_class.protected_E_class.package_g-method   -->
<!-- com.abc_company.package_B_class.private_F_class.package_g-method     -->


<log method-with-access="protected"/>
<!-------------------------------------------------------------------------->
<!-- com.abc_company.public_A_class.protected_h-method                    -->
<!-- com.abc_company.package_B_class.public_C_class.protected_h-method    -->
<!-- com.abc_company.package_B_class.package_D_class.protected_h-method   -->
<!-- com.abc_company.package_B_class.protected_E_class.protected_h-method -->
<!-- com.abc_company.package_B_class.private_F_class.protected_h-method   -->


<log method-with-access="private"/>
<!-------------------------------------------------------------------------->
<!-- com.abc_company.public_A_class.private_i-method                      -->
<!-- com.abc_company.package_B_class.public_C_class.private_i-method      -->
<!-- com.abc_company.package_B_class.package_D_class.private_i-method     -->
<!-- com.abc_company.package_B_class.protected_E_class.private_i-method   -->
<!-- com.abc_company.package_B_class.private_F_class.private_i-method     -->