Zelix KlassMaster - Documentation

Trim Field Exclude Parameter

 
The Field Exclude Parameter dialog has three facets:
  • the specification of the field itself and
  • the specification of the class that contains the field and
  • the specification of the package that contains the class
For a field to be excluded it must match the full specification.
 

The field itself

In specifying the field which is to be excluded, you can specify:
  • whether its access level is
    • not specifed
    • public
    • protected
    • package (i.e. default)
    • private
  • whether it has or doesn't have the modifiers
    • static
    • final
    • volatile
    • transient
  • its name or a "*" wildcard string that its name must match
  • the fully qualified name of its type
  • the fully qualified class name of an annotation that a matching method must have. You can use the "*" wildcard. Do not include the '@' character.
Trim Field Exclude Parameter - Field itself

 

The containing class

To specify the containing class, click the Containing class tab. The dialog basically works the same way as the Trim Class Exclude Parameter dialog. The difference is that you are now specifying the containing class of the method which is to be excluded. The class Name field cannot be empty but a simple "*" wildcard is acceptable.

If you wish to exclude the containing class as well as the field name then you should select the Exclude class as well box.
Trim Field Exclude Parameter - Containing class

 

The containing package

To specify the containing package, click the Containing package tab. If you clear the Name field then you are specifying that the class is in the default package.
Trim Field Exclude Parameter - Containing package

 

Example

The specification:

public *.*^ implements java.io.Serializable @pack2.MyAnnotation0 static final java.lang.String[] f*

means exclude all fields :
  • that are annotated by a class matching pack2.MyAnnotation0
  • that are static and final
  • that are of the type java.lang.String[]
  • have a name matching f*
  • are contained in a class that:
    • is public
    • has a name that matches *
    • is in a package that matches *
    • implements java.io.Serializable
  • Also exclude any class containing a matching field

Exclude Parameter Type Exclude Parameter Type Field Exclude Parameter
Zelix KlassMaster - Java Obfuscator