Title: Structs: Infer parameter members from functional method signature instead from solely annotations · Issue #2 · scijava/scijava · GitHub
Open Graph Title: Structs: Infer parameter members from functional method signature instead from solely annotations · Issue #2 · scijava/scijava
X Title: Structs: Infer parameter members from functional method signature instead from solely annotations · Issue #2 · scijava/scijava
Description: Currently, ParameterStructs utility class only check for @Parameter annotations in order to structify an object. Instead, members should be inferred from the signature of the functional method of the class of the passed object. This shou...
Open Graph Description: Currently, ParameterStructs utility class only check for @Parameter annotations in order to structify an object. Instead, members should be inferred from the signature of the functional method of t...
X Description: Currently, ParameterStructs utility class only check for @Parameter annotations in order to structify an object. Instead, members should be inferred from the signature of the functional method of t...
Opengraph URL: https://github.com/scijava/scijava/issues/2
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Structs: Infer parameter members from functional method signature instead from solely annotations","articleBody":"Currently, ```ParameterStructs``` utility class only check for ```@Parameter``` annotations in order to _structify_ an object. Instead, members should be inferred from the signature of the functional method of the class of the passed object. This should have the following behavior:\r\n* If no ```@Parameter``` annotations are given, the type and the ```ItemIO``` should be inferred from the functional method signature. In doing so, the return type will always be ```ItemIO.Output``` and method parameters should be ```ItemIO.Input```. If a method parameter is ```ItemIO.Both```, it should be annotated with a ```@Mutable``` annotation. Methods to get the functional method types from a type and the ```@Mutable``` already exists.\r\n* Additionally, the ```@Parameter``` annotations may be given in order to specify the names and further metadata of the member (e.g. required status). Also, this enabled to do fail fast checks if the ```ItemIO``` or the number of parameters does not match the types inferred from the functional method.\r\n* A ```ItemIO.Auto``` was already added in order to indicate that the ```ItemIO``` should be automatically inferred from the functional method. ```ItemIO.Auto``` should be made the default.","author":{"url":"https://github.com/Treiblesschorle","@type":"Person","name":"Treiblesschorle"},"datePublished":"2018-10-12T19:39:09.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":8},"url":"https://github.com/2/scijava/issues/2"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:5d88945f-2825-29d4-6494-7cbe348d6479 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A05A:141BDC:4404E16:597586E:696D4A16 |
| html-safe-nonce | 99ec2d958f9b29caa645253c9d116883512f74df0ecc6d770db69b251865b3e4 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMDVBOjE0MUJEQzo0NDA0RTE2OjU5NzU4NkU6Njk2RDRBMTYiLCJ2aXNpdG9yX2lkIjoiNTk2NDI3OTY0ODE1NTk0NTQ5NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 4dbb0474047c724bfa32017b59f9e6ed45b150147d914cea3173fb0e85c92ae9 |
| hovercard-subject-tag | issue:369685117 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/scijava/scijava/2/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5ba1e30a4656cf4fd71c4f512af59818120574208edda083e3969668a8a90232/scijava/scijava/issues/2 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5ba1e30a4656cf4fd71c4f512af59818120574208edda083e3969668a8a90232/scijava/scijava/issues/2 |
| og:image:alt | Currently, ParameterStructs utility class only check for @Parameter annotations in order to structify an object. Instead, members should be inferred from the signature of the functional method of t... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Treiblesschorle |
| hostname | github.com |
| expected-hostname | github.com |
| None | 0944e430045f4fb5f7bd103e0660080acfe593174063212555773ca41c144a14 |
| turbo-cache-control | no-preview |
| go-import | github.com/scijava/scijava git https://github.com/scijava/scijava.git |
| octolytics-dimension-user_id | 1262770 |
| octolytics-dimension-user_login | scijava |
| octolytics-dimension-repository_id | 85618439 |
| octolytics-dimension-repository_nwo | scijava/scijava |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 85618439 |
| octolytics-dimension-repository_network_root_nwo | scijava/scijava |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 66b6e773801d28660016072069017cfcc851f54b |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width