Skip to content

Practical work 3 - NaUKMA course Automating Software Applications in the Java Language

Notifications You must be signed in to change notification settings

mariana0412/TaskManager_AnnotationProcessing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskManager_AnnotationProcessing 📋

This project is part of the practical work for the course "Automating Software Applications in the Java Language" at NaUKMA. It is a simple console-based task manager application implemented as a multi-module Gradle project. This project demonstrates the usage of custom annotations and an annotation processor in Java. It allows you to define your own classes, methods, and annotations, and leverage annotation processing to generate new classes and perform runtime logic processing and verification.

Structure 📂

The project consists of 3 modules:

  1. core: This module contains the main business logic of the application including annotations and annotation processor.
  2. data: This module is responsible for persisting tasks to a file using Google's Gson library.
  3. ui: This module contains the user interface logic for interacting with tasks via a command-line interface.

Features ⚙️

  • Custom Classes and Methods: Create your own regular classes and methods to implement the desired functionality specific to your project.
  • Custom Annotations: Define your own annotations to add metadata and behavior to your classes and methods.
  • Annotation Processor: Develop a custom annotation processor that processes the annotations in your codebase and performs actions based on them.
  • Code Generation: Utilize the annotation processor to generate new classes dynamically based on the annotated elements in your code.
  • Runtime Logic Processing: Leverage your custom annotations to process and verify the logic of your code during runtime.

Setup 🔧

To generate annotated classes, jar and build core module of the project.

  1. ./gradlew :core:jar
  2. ./gradlew :core:build

About

Practical work 3 - NaUKMA course Automating Software Applications in the Java Language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages