<dependency>
<groupId>com.daybits</groupId>
<artifactId>daybits-framework</artifactId>
<version>1.0.0</version>
</dependency>
import com.daybits.annotation.Daybits;
import com.daybits.core.DaybitsHandler;
interface Calculator {
int add(int a, int b);
}
class BasicCalculator implements Calculator {
@Override
public int add(int a, int b) {
return a + b;
}
}
@Daybits
interface AdvancedCalculator extends Calculator {
int subtract(int a, int b);
int multiply(int a, int b);
}
class MyCalculator implements AdvancedCalculator {
@Override
public int add(int a, int b) {
return a + b;
}
@Override
public int subtract(int a, int b) {
return a - b;
}
@Override
public int multiply(int a, int b) {
return a * b;
}
}
public class Main {
public static void main(String[] args) {
DaybitsHandler<AdvancedCalculator> handler = new DaybitsHandler<>(AdvancedCalculator.class);
AdvancedCalculator calculator = handler.newInstance(MyCalculator.class);
int result1 = calculator.add(3, 5);
int result2 = calculator.subtract(7, 2);
int result3 = calculator.multiply(4, 6);
System.out.println("Result 1: " + result1);
System.out.println("Result 2: " + result2);
System.out.println("Result 3: " + result3);
}
}