Class ImmutableProcessor

  • All Implemented Interfaces:
    org.eclipse.xtend.lib.macro.CodeGenerationParticipant<org.eclipse.xtend.lib.macro.declaration.ClassDeclaration>, org.eclipse.xtend.lib.macro.RegisterGlobalsParticipant<org.eclipse.xtend.lib.macro.declaration.ClassDeclaration>, org.eclipse.xtend.lib.macro.TransformationParticipant<org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration>, org.eclipse.xtend.lib.macro.ValidationParticipant<org.eclipse.xtend.lib.macro.declaration.ClassDeclaration>

    @Order(-10000)
    public class ImmutableProcessor
    extends org.eclipse.xtend.lib.macro.AbstractClassProcessor
    The ImmutableProcessor is responsible for generating an immutable implementation of the annotated class.
    Since:
    2.0.0
    Author:
    Oliver Libutzki <[email protected]>
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void doRegisterGlobals​(org.eclipse.xtend.lib.macro.declaration.ClassDeclaration it, org.eclipse.xtend.lib.macro.RegisterGlobalsContext context)  
      void doTransform​(org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration cls, org.eclipse.xtend.lib.macro.TransformationContext context)  
      java.util.Collection<org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration> getDataFields​(org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration cls, org.eclipse.xtend.lib.macro.TransformationContext context)  
      • Methods inherited from class org.eclipse.xtend.lib.macro.AbstractClassProcessor

        doGenerateCode, doGenerateCode, doRegisterGlobals, doTransform, doValidate, doValidate
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ImmutableProcessor

        public ImmutableProcessor()
    • Method Detail

      • doRegisterGlobals

        public void doRegisterGlobals​(org.eclipse.xtend.lib.macro.declaration.ClassDeclaration it,
                                      @Extension
                                      org.eclipse.xtend.lib.macro.RegisterGlobalsContext context)
        Overrides:
        doRegisterGlobals in class org.eclipse.xtend.lib.macro.AbstractClassProcessor
        Since:
        2.0.0
      • doTransform

        public void doTransform​(org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration cls,
                                @Extension
                                org.eclipse.xtend.lib.macro.TransformationContext context)
        Overrides:
        doTransform in class org.eclipse.xtend.lib.macro.AbstractClassProcessor
        Since:
        2.0.0
      • getDataFields

        public java.util.Collection<org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration> getDataFields​(org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration cls,
                                                                                                                   @Extension
                                                                                                                   org.eclipse.xtend.lib.macro.TransformationContext context)