Using the mix-in properties worked excellently! 

All I had to use was: 

abstract class ReadOnlyPropertyMixin {
        ReadOnlyPropertyMixin(@JsonProperty("bean") Object bean,
                              @JsonProperty("name") String name,
                              @JsonProperty("value") Object value) {}

        @JsonManagedReference @JsonProperty("bean")
        abstract public Object getBean();
        
        @JsonProperty("name")
        abstract public String getName();

        @JsonProperty("value")
        abstract public Object getValue();
    }

Thanks for a fast response, too!

Along the same lines, is there a means to access the cache of known 
entities when deserializing? I have multiple references to the same managed 
references in different classes. The use of BackReference and 
ManagedReference doesn't seem to allow for 1-many relationships. 

Kevin

On Wednesday, 17 May 2017 13:34:57 UTC-4, Tatu Saloranta wrote:
>
> On Wed, May 17, 2017 at 10:28 AM, Kevin Brightwell 
> <[email protected] <javascript:>> wrote: 
> > Hello, 
> > 
> > I'm trying to implement some serializers/deserializers for JavaFX 
> properties 
> > and have run into several issues: 
> > 
> > Jackson's annotations are not usable as the classes in JavaFX are all 
> part 
> > of the JDK not my own code-base 
>
> This is something that mix-in annotations should help with: you can 
> associate any and all annotations on 3rd party types, without 
> modifying source code (or bytecode manipulation). 
>
> > There is inherent cycles in properties due to "bean references" in 
> > javafx.beans.property.ReadOnlyProperty#getBean() which stores a 
> reference to 
> > the "owning" bean 
> > 
> > My question is, how can I utilize repeated references to the bean and 
> not 
> > reserialize them similar to how @JsonBackReference and 
> @JsonManagedReference 
> > work without having annotations present? 
>
> If it is true parent/child reference, I think using mix-in annotation 
> facility would make sense here. 
> Either for back/managed reference, or just ignoral. 
>
> Alternatively if that does not work, you might need to drop properties 
> via BeanSerializerModifier (which gets called and allows 
> changing/removing/adding BeanPropertyWriter objects); but that's more 
> work unless it's something as simple as just dropping specific 
> property that would otherwise be included. 
>
> -+ Tatu +- 
>
> > 
> > Thanks, 
> > Kevin 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "jackson-user" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to