objectbox / objectbox/objectbox-java
Allow specifying custom type converters per table or globally too
@greenrobot-team is already working on this.
Since Aug 24, 2020.
- Dominant language
- Java
- Stars
- 4.6k
- Forks
- 311
- PR merge metrics
- No merged PRs in 30d
Description
Currently, to convert a custom type, we have to annotate each field of that type individually with @Convert.
This is very inconvenientt, because if you have a custom type, e.g. joda.time.DateTime you'll always want to convert it, so it would be much cleaner and less error-prone if we could define custom type converters per table or for the whole database too, like Room does it with TypeConverters.
Describe the solution you'd like
For a per-entity definition of converters, one could extend the @Entity annotation something like this:
@Entity(converters={@Convert(...), @Convert(...),...}
public class User ...
For defining converters globally, the ObjectBox builder could be extended.
Describe alternatives you've considered
Currently, the only alternative is to add @Convert to each and every field.
Additional context
As said above, you can have a look at Room's @TypeConverter annotation that can be applied to METHOD, PARAMETER, TYPE and FIELD.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.