[Feat]: Clarify nullability and optionality of the spec API
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Examinez les classes Task et TaskStatus dans le module spec afin de comprendre les modèles actuels de nullabilité. Examinez les principes de conception et les règles de cohérence de l’API spec. Déterminez quels champs devraient être Optional et quelles collections devraient être vides par défaut. Mettez à jour les classes, assurez la rétrocompatibilité et révisez Javadoc en conséquence.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Is your feature request related to a problem? Please describe.
The spec API is not consistent with this expectation for the nullability and optionality of objects.
For example, the Task class
will always instantiate its history and artifact with (potentially empty) collections while its metatada can be null.
The API should be consistent unless there is a good reason not to.
In that case, the metadata should also be an empty Map if the parameter is null.
For case where we want to record that a field can have a value or be null, we could also leverage Optional.
For example, in TaskStatus, the message is optional. We could make its type Optional<String> to constrain its contract.
Describe the solution you'd like
Update the spec API to:
- be consistent with the nullabitity of fields (especially collections)
- use the
Optionaltype for optional fields - update the javadoc when there is exception to this general rule
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
- Langage dominant
- Java
- Étoiles
- 507
- Forks
- 192
- Merge moyen
- 3 j 8 h
- PR mergées (30 j)
- 23
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de a2aproject/a2a-java
-
fix: handle blank push notification config id consistently across transportsPeut-être pris @prachisinghal-1 l’a pris il y a 7 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
a2aproject/a2a-java#1012 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
a2aproject/a2a-java#464 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
Create a sample that demonstrates how to use a shared contextId across multiple tasksPeut-être à nouveau libre @tanish111 l’a pris il y a 374 jours, et aucune pull request n’est ouverte. Ouvertesample
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
a2aproject/a2a-java#375 · 5 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
Task state transitions are not trackedPeut-être à nouveau libre @sumitvairagar l’a pris il y a 13 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
a2aproject/a2a-java#1222 · 4 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
No structured payload loggingPeut-être pris @katepallewarprathmesh-sketch l’a pris il y a 11 jours. Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 18/100
a2aproject/a2a-java#1221 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de a2aproject/a2a-java
Issues similaires
-
status: waiting-for-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
spring-projects/spring-framework#37614 ·
Les mainteneurs répondent en général sous 1 jour
-
azure-spring azure-spring-aad Client
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-sdk-for-java#51046 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
helm-knative-apply.sh fails with Helm 4Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertearea: triage theme: undefined
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
jhipster/generator-jhipster#35895 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
oracle/graalvm-reachability-metadata#11659 ·
Les mainteneurs répondent en général sous 1 jour