Skip to Content
Developing Java Beans
book

Developing Java Beans

by Robert Englander
June 1997
Intermediate to advanced
318 pages
8h 17m
English
O'Reilly Media, Inc.
Content preview from Developing Java Beans

Serializing Event Listeners

Event-source objects keep references to their target event listeners, either directly or indirectly through a support object. It’s very important to recognize that these listeners may not be serializable. For instance, if you keep a Vector of event listeners, an attempt will be made to serialize the listeners when the Vector is serialized. One possible solution is to mark the collection of event listeners as transient. But we certainly don’t want to ignore the listeners, as some or all of them may very well be serializable. The best we can do is to serialize those listeners that can be serialized, and skip the others. Let’s look at a simple example class called SimpleTemperature that fires a TemperatureChangeEvent to its registered listeners. References to those listeners are kept in a Vector called listeners. Since we don’t know if the elements of listeners are serializable, we mark listeners as transient. We won’t actually be serializing listeners at all, only those elements of it that are serializable. We really don’t even need to construct the Vector until an event listener is added, so we won’t create it until it’s needed. The code illustrating this is next.

public class SimpleTemperature { // collection of temperature change listeners protected transient Vector listeners = null; public synchronized void addTemperatureChangeListener(TemperatureChangeListener l) { // if the vector doesn't exist yet, create it now if (listeners == null) { listeners ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Java EE 8 Development with Eclipse - Third Edition

Java EE 8 Development with Eclipse - Third Edition

Ram Kulkarni
Beginning EJB in Java EE 8: Building Applications with Enterprise JavaBeans

Beginning EJB in Java EE 8: Building Applications with Enterprise JavaBeans

Jonathan Wetherbee, Massimo Nardone, Chirag Rathod, Raghu Kodali
Java 11 Cookbook - Second Edition

Java 11 Cookbook - Second Edition

Nick Samoylov, Mohamed Sanaulla

Publisher Resources

ISBN: 1565922891Catalog PageErrata