[Feat]: Clarify nullability and optionality of the spec API
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Examina las clases Task y TaskStatus del módulo spec para comprender los patrones actuales de nulabilidad. Revisa los principios de diseño y las reglas de coherencia de la API spec. Determina qué campos deberían ser Optional y qué colecciones deberían estar vacías de forma predeterminada. Actualiza las clases, garantiza la compatibilidad hacia atrás y revisa Javadoc en consecuencia.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Java
- Estrellas
- 504
- Forks
- 184
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 25
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de a2aproject/a2a-java
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
a2aproject/a2a-java#1012 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
a2aproject/a2a-java#464 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Create a sample that demonstrates how to use a shared contextId across multiple tasksQuizá libre de nuevo @tanish111 la tomó hace 356 días y no hay ningún pull request abierto. Abiertosample
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
a2aproject/a2a-java#375 · 5 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
a2aproject/a2a-java#1207 ·
Los mantenedores suelen responder en 1 día
-
Enable checkstyle failOnViolation=truePosiblemente ocupada @ZYZ666-RGB la tomó hace 4 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
a2aproject/a2a-java#1206 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de a2aproject/a2a-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
quelea-projection/Quelea#711 ·
-
bug pdd
Dificultad 2/5 Menos de una hora Aptitud para principiantes 67/100
objectionary/eo#9450 ·
Los mantenedores suelen responder en 1 día
-
[EC2] DescribeAvailabilityZones should return real AWS error for unknown zone namePosiblemente ocupada @omatheusmesmo la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
area: core good first issue type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ShaftHQ/SHAFT_ENGINE#6909 ·
Los mantenedores suelen responder en 1 día