Comments (14)
Follows up #38
from quarkus.
@mkouba isn't this done?
from quarkus.
I'm not sure. @manovotn could you pls verify the relevant functionalities?
from quarkus.
@cescoffier @mkouba
Well, Arc deliberately doesn't implement specialization so there's that.
Other than that, in type-level inheritance, we seem to be missing qualifier and stereotype inheritance while scope and interceptor bindings work.
Member-level inheritance seems to work fully.
I've written these tests to try that out - https://github.com/manovotn/quarkus/tree/inheritanceRules
from quarkus.
FTR, CDI spec recommends that qualifiers should not declare @Inherited
:
qualifier types should not be declared @inherited,
so that's definitely of minor priority.
As for stereotypes, those would be nice to have feature, but probably not mandatory right away.
It would require deep recursive search through annotations because stereotypes can declare another stereotypes...
from quarkus.
I can confirm that stereotype inheritance doesn't work, as well as transitive stereotypes (stereotype declared on another stereotype). I added some @Disabled
tests for these in a mostly-unrelated PR (#13553).
from quarkus.
so I have start to work on it but I am stuck because jandex seems to not return annotation of superclass got from classInfo.
I am maybe thinking to change completly the code and init all BeanInfo then enriched with qualifer/stereotype inherited
wdyt ? Or there is a solution to
@mkouba
Btw, I copy past the test from @manovotn but I will try to do my own later and add other test.
from quarkus.
CC @Ladicek - is it something doable?
from quarkus.
I am stuck because jandex seems to not return annotation of superclass got from classInfo.
That's intentional and well-documented. You need to walk the class hiearchy instead.
from quarkus.
@mkouba Considering recent developments in CDI Lite and extensions, I think the annotation store in ArC should probably always include all annotations of a class (including inherited ones). This is a little more complicated for scope annotations, and I didn't really think it through yet, so this is more like a heads up than a definitive claim :-)
from quarkus.
I think the annotation store in ArC should probably always include all annotations of a class (including inherited ones)
I assume that you mean the annotations declared on superclasses and annotated with @Inherited
?
from quarkus.
Yes.
from quarkus.
@Ladicek might be worth an issue with some details so we keep track of it?
from quarkus.
At some point, sure. I need to think more about it.
from quarkus.
Related Issues (20)
- [Extension Proposal] Auto-compensating saga extension HOT 1
- Kafka Reactive Messaging are not automatically acknowledged when input is payload and output is Message<payload> HOT 3
- Support Kotlin 2.0 HOT 3
- extensions (quarkus-container-image-buildpack) : Not able to run container image built using BuildPacks extension HOT 2
- Emitter AMQP protocol stucked after MQ broker restart HOT 4
- Micrometer performance improvements - Stork and binder HOT 1
- Micrometer performance improvements - runtime package HOT 1
- Micrometer performance improvements - mpmetrics package HOT 1
- Implement low memory mode in the OpenTelemetry exporters. HOT 1
- HTTP Access Logs should allow ISO 8601 date format HOT 5
- [Extension Proposal] Nagios health endpoint HOT 3
- Avro AVSC compilation fails with version 3.10 HOT 3
- WebSockets Next: Support for secure upgrade with security annotations only
- Quarkus Rest Client MTLS configuration guide HOT 14
- Add Docs: smallrye-pulsar cannot publish message in sample Quarkus project HOT 13
- Funq not sending CloudEvent / CloudEvent not received by broker HOT 2
- WebSockets Next: provide strategies to process unhandled failures HOT 9
- gradle quarkusDev usage analytics question not working? HOT 4
- BouncyCastle BCFIPS provider fails with OpenJDK 17 and RHEL8 in FIPS-enabled environment HOT 2
- Quarkus upgrade to 3.10.0 in gradle environment HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quarkus.