objectbox-java icon indicating copy to clipboard operation
objectbox-java copied to clipboard

Allow specifying custom type converters per table or globally too

Open ridcully99 opened this issue 5 years ago • 1 comments

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.

ridcully99 avatar Aug 14 '20 13:08 ridcully99

Thanks! Please thumbs up if you would like to see this feature in ObjectBox.

greenrobot-team avatar Aug 17 '20 08:08 greenrobot-team