Skip to content

Instantly share code, notes, and snippets.

@burningwave
burningwave / AllAnnotatedClassFinder.java
Last active December 13, 2020 21:24
Finding all annotated classes
import java.util.Collection;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
import org.burningwave.core.classes.CacheableSearchConfig;
import org.burningwave.core.classes.ClassCriteria;
import org.burningwave.core.classes.ClassHunter;
import org.burningwave.core.classes.ClassHunter.SearchResult;
import org.burningwave.core.classes.ConstructorCriteria;
import org.burningwave.core.classes.FieldCriteria;
import java.util.Collection;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
import org.burningwave.core.classes.CacheableSearchConfig;
import org.burningwave.core.classes.ClassCriteria;
import org.burningwave.core.classes.ClassHunter;
import org.burningwave.core.classes.ClassHunter.SearchResult;
import org.burningwave.core.classes.SearchConfig;
import org.burningwave.core.io.PathHelper;
import static org.burningwave.core.assembler.StaticComponentContainer.BackgroundExecutor;
import org.burningwave.core.ManagedLogger;
import org.burningwave.core.concurrent.QueuedTasksExecutor.ProducerTask;
import org.burningwave.core.concurrent.QueuedTasksExecutor.Task;
public class TaskLauncher implements ManagedLogger{
public void launch() {
UnitSourceGenerator unitSG = UnitSourceGenerator.create("packagename").addClass(
ClassSourceGenerator.create(
TypeDeclarationSourceGenerator.create("MyExtendedClass")
).addModifier(
Modifier.PUBLIC
//generating new method that override MyInterface.convert(LocalDateTime)
).addMethod(
FunctionSourceGenerator.create("convert")
.setReturnType(
TypeDeclarationSourceGenerator.create(Comparable.class)
import java.util.ArrayList;
import java.util.List;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
import org.burningwave.core.classes.ExecuteConfig;
import org.burningwave.core.classes.BodySourceGenerator;
public class SourceCodeExecutor {
code-block-1=\
Date now= new Date();\
return (T)now;
code-block-1.imports=java.util.Date;
code-block-1=\
${code-block-2}\
return (T)Date.from(zonedDateTime.toInstant());
code-block-1.imports=\
${code-block-2.imports}\
java.util.Date;
code-block-2=\
LocalDateTime localDateTime = (LocalDateTime)parameter[0];\
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
code-block-2.imports=\
import java.time.LocalDateTime;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
public class SourceCodeExecutor {
public static void execute() {
ComponentSupplier componentSupplier = ComponentContainer.getInstance();
System.out.println("Time is: " +
import java.time.LocalDateTime;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
import org.burningwave.core.classes.ExecuteConfig;
public class SourceCodeExecutor {
public static void execute() {
ComponentSupplier componentSupplier = ComponentContainer.getInstance();
<dependency>
<groupId>org.burningwave</groupId>
<artifactId>core</artifactId>
<version>9.3.5</version>
</dependency>