Skip to content

Modules and projects

Jonathan edited this page Jul 8, 2018 · 4 revisions

Modules

Projects that are part of Kores development project group (KDPG).

This is the JVM bytecode generator module of Kores, this project "compiles" Kores instructions to JVM bytecode.

This is the Java Source generator module of Kores, this project "compiles" Kores instructions to Java source code.

This is the WIP Bytecode translator that converts Bytecode to Kores Instruction, currently, translation of classes, field, methods (and so on), works very well, but the translation of method instructions to Kores Instructions is far from complete. Because of the complexity of method instructions structure, code analysis and things that are possible in Bytecode but are very hard to predict and transform, this project is not under heavy development.

This is the second project of the Universalization Purpose, which was the first purpose of Kores, this project transforms Reflect Annotations, Model Annotations and JSON Representation of annotation in Kores annotations.

A generation utility to speed up the creation of Kores structure for common structures.

A work in progress kores textual representation, the purpose is to have something easy to learn and understand.

Projects

Projects that uses Kores to implement features, solve problems and to have fun.

A project that implements Proxy pattern like Java proxy API (through code generation), but without Java proxies limitations.

KoresProxy features:

  • Super method invocation (with a little overhead but nothing critical).
  • Super classes extension allowed (extends).
  • Method invocations with zero overhead (through Customs, read more here).
  • Possibility to implement other patterns using customs.

Helps with Adapter classes generation, implementation, management and converters.

Simplistic dependency injection, Redin uses Kores to generate HotSwappable and Lazy instances that looks like normal instances. Also Redin uses Kores to identify and represent types (such as identifying that List<String> is not the same as List<Integer>, which is not possible with Java classes because of the way that generics works in Java).

A project only to experiment some things with Kores, like Dynamic Dispatch, Multimethods and Late Binding.

Generator of Java builder classes at compile-time using Kores.

Property based event generation system, Kores is used to generate event implementation, factory interfaces with annotations, factory implementations and zero overhead event listeners. See EDD (Event Driven Development).

Interface routing framework which could be used to route interface method invocations to REST requests. Kores is used to generate router interface implementation and provide flexibility to implement routing logic.