Class ModifiersTemplate

java.lang.Object
de.japkit.test.members.common.modifiers.ModifiersTemplate

@Clazz(commentExpr="The generated class for the example.")
@RuntimeMetadata
public abstract class ModifiersTemplate
extends java.lang.Object
ModifiersTrigger can either be copied from the template or set conditionally.

The examples here are mainly for fields and methods but apply to constructors and inner classes as well.

  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    class  ModifiersTemplate.AbstractInnerClass
    To keep the abstract modifier for a generated class or inner class, keepAbstract must be set to true.
    class  ModifiersTemplate.NonAbstractInnerClass
    To support method templates without a dummy method body, also the class template containing them needs to be abstract.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String dynamicallyNonPublicStaticField
    The expressions for setting modifiers dynamically have precedence over the according modifiers from the template.
    (package private) java.lang.String dynamicallyPrivateField
    Visibilities can also be set dynamically.
    (package private) java.lang.String finalField
    For final fields, code for initialization needs to be provided.
    private java.lang.String privateField
    ModifiersTrigger are copied to the generated element.
    java.lang.String publicField
    ModifiersTrigger are copied to the generated element.
    static int publicStaticField
    ModifiersTrigger are copied to the generated element.
    (package private) int transientVolatileField
    ModifiersTrigger are copied to the generated element.
  • Constructor Summary

    Constructors 
    Constructor Description
    ModifiersTemplate()  
  • Method Summary

    Modifier and Type Method Description
    abstract java.lang.String notAbstractMethod()
    The abstract modifier is removed from methods, if they have rules for generating a code body.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • publicField

      public java.lang.String publicField
      ModifiersTrigger are copied to the generated element.

      Here: public

    • privateField

      private java.lang.String privateField
      ModifiersTrigger are copied to the generated element.

      Here: private

    • publicStaticField

      public static int publicStaticField
      ModifiersTrigger are copied to the generated element.

      Here: public static

    • transientVolatileField

      transient volatile int transientVolatileField
      ModifiersTrigger are copied to the generated element.

      Here: transient volatile

    • finalField

      @Field(initCode="\"initialValue\"") final java.lang.String finalField
      For final fields, code for initialization needs to be provided.

      Here, the String literal "initialValue" is generated.

      See Also:
      Constant Field Values
    • dynamicallyPrivateField

      @Field(privateCond="#{true}") java.lang.String dynamicallyPrivateField
      Visibilities can also be set dynamically.

      Here, the generate field is made private based on a boolean expression.

    • dynamicallyNonPublicStaticField

      @Field(publicCond="#{false}") public static java.lang.String dynamicallyNonPublicStaticField
      The expressions for setting modifiers dynamically have precedence over the according modifiers from the template.

      Here, the generated field is not public, since publicCond evaluates to false. The field is still static, like given by the template.

  • Constructor Details

  • Method Details

    • notAbstractMethod

      @Method(bodyCode="return null;") public abstract java.lang.String notAbstractMethod()
      The abstract modifier is removed from methods, if they have rules for generating a code body. This allows to write method templates without a dummy method body.

      Here, the generated method is not abstract, since bodyCode is set.