A Generic Class for Extensions
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne damit, das verlinkte gist zu prüfen und seine vorgeschlagene Basisklasse, registrierten Schlüssel, typisierten Wither, das Verhalten von equality und hashCode mit den vorhandenen Extension-Methoden des Java CloudEvents SDK zu vergleichen. Prüfe, ob der Vorschlag die relevanten Extension-Anwendungsfälle des SDK abdeckt; als abgeschlossen gilt dies erst, wenn ein klar abgegrenztes Design und die Zustimmung der Maintainer vor der Implementierung vorliegen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
[info/enhancement proposal] Here's a quick idea to avoid repetitively writing extensions.
The limitations of this concept, to be safe from many perspectives, are that the supported types are basic, and therefore complex elements must be handled outside of the extension itself.
However, there are several advantages, including having ordered keys, working with inheritance, simplifying extension development, and the ability to type both getters and withers. So at the end, we have a patternization of extension creation.
The following link contains the code to implement this concept: https://gist.github.com/stefanofago73/dd03952e9a2c5f2f113ea064320785d0
Could this be helpful? Could it work, or is it not useful due to other use cases or parts of the library?
The basic design is to have a base class and create Extensions by inheritance. The constructor allows you to register keys, while the extension itself allows you to create typed withers. The Java CloudEvents SDK methods are implemented in the base class, including the hashCode and equality methods. The example code is commented and includes an example of an extension (auth context extension).
- Vorherrschende Sprache
- Java
- Sterne
- 446
- Forks
- 172
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cloudevents/sdk-java
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
cloudevents/sdk-java#731 · 1 Reaktion ·
-
bug
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
cloudevents/sdk-java#697 · 3 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
cloudevents/sdk-java#689 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
cloudevents/sdk-java#660 · 2 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
cloudevents/sdk-java#748 ·
Alle Issues in cloudevents/sdk-java
Ähnliche Issues
-
TerminalRow.mSpaceUsed (short) overflows on terminals wider than 1023 columns, crashing setCharOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
termux/termux-app#5340 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
apache/rocketmq-dashboard#5110 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 4 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
TS2502 in shipped .d.ts: `compileHighlightConfig` parameter shadows the de-aliased `Query` typeOffenbug javascript
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag