tangentum technologies    
 

Deutsch

   
   
 
    in-class-with-access

in-class-with-access

Name

in-class-with-access -- Selects methods that are defined in classes with a specified access.

Synopsis

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

Description

This condition-attribute evaluates to true for methods that are defined in classes whose access-specifier is one of the given.

The class access is given as a comma-separated list of access-specifiers, whose order is of no importance.

Java defines different access-specifiers for top-level classes and nested classes:

  • Classes defined in package scope (top-level classes) have public or package access.

  • Classes defined in class scope (nested classes) have public, package, protected, or private access.

The access-specifiers may be freely mixed in this condition-attribute, which may be helpful in cases where top-level classes and nested classes are selected by predicates like in-nested-class or in-class-or-nested-class. If they are omitted, no constraints on access-specifiers of classes will be performed.

Example 1. Log methods defined in classes 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_A_class
com.abc_company.public_A_class.package_B_class
com.abc_company.public_A_class.protected_C_class
com.abc_company.public_A_class.private_D_class
com.abc_company.package_B_class
com.abc_company.package_B_class.public_A_class
com.abc_company.package_B_class.package_B_class
com.abc_company.package_B_class.protected_C_class
com.abc_company.package_B_class.private_D_class

Some selections with their results:

<log in-class-with-access="public"/>
<!------------------------------------------------------->
<!-- com.abc_company.public_A_class                    -->
<!-- com.abc_company.public_A_class.public_A_class     -->
<!-- com.abc_company.package_B_class.public_A_class    -->


<log in-class-with-access="package"/>
<!------------------------------------------------------->
<!-- com.abc_company.public_A_class.package_B_class    -->
<!-- com.abc_company.package_B_class                   -->
<!-- com.abc_company.package_B_class.package_B_class   -->


<log in-class-with-access="protected"/>
<!------------------------------------------------------->
<!-- com.abc_company.public_A_class.protected_C_class  -->
<!-- com.abc_company.package_B_class.protected_C_class -->


<log in-class-with-access="private"/>
<!------------------------------------------------------->
<!-- com.abc_company.public_A_class.private_D_class    -->
<!-- com.abc_company.package_B_class.private_D_class   -->


<log in-class-with-access="public,package"/>
<!------------------------------------------------------->
<!-- com.abc_company.public_A_class                    -->
<!-- com.abc_company.public_A_class.public_A_class     -->
<!-- com.abc_company.public_A_class.package_B_class    -->
<!-- com.abc_company.package_B_class                   -->
<!-- com.abc_company.package_B_class.public_A_class    -->
<!-- com.abc_company.package_B_class.package_B_class   -->