0% found this document useful (0 votes)
12 views28 pages

CSM-15 Lecture 2 2

Java Beans are reusable software components that can be visually manipulated in builder tools, supported by an architecture and API for component software development. Key features include event handling, persistence, visual presentation, and customization through properties and methods. The document outlines conventions for access methods, introspection, and further features like multithreading and security in Java Beans.

Uploaded by

ratnakar babu M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views28 pages

CSM-15 Lecture 2 2

Java Beans are reusable software components that can be visually manipulated in builder tools, supported by an architecture and API for component software development. Key features include event handling, persistence, visual presentation, and customization through properties and methods. The document outlines conventions for access methods, introspection, and further features like multithreading and security in Java Beans.

Uploaded by

ratnakar babu M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

Component-Based

Software Engineering
Introduction to Java Beans
Paul Krause
and
Sotiris Moschoyiannis
Java Beans
Contents
 Definition
 Bean Basics
What is a Java Bean?
 “A Java Bean is a reusable software
component that can be manipulated
visually in a builder tool”
JavaSoft
Sources of Builder Tools
 NetBeans:
http://www.netbeans.org
 JBuilder:
http://www.borland.com/jbuilder/

 Note, you also need to have the Java


SDK installed.
Bean Books
Developing Robert O’Reilly Recommended
Java Beans Englander

JavaBeans J. O’Neil and McGraw Hill Good. Contains


Programming H. Schildt many examples.

JavaBeans by Henri Jubin Prentice Hall Simpler than the


Example above, but with
useful examples

NetBeans – the Boudreau, O’Reilly Not so good on


Definitive Guide Glick, Greene, Beans. More
Spurlin, Woehr about the IDE.
Java Beans
Contents
 Definition
 Bean Basics
The Component Model
 JavaBeans is Java’s component model
 The model is made up of an architecture
and an API
 The API makes it possible to write
component software in Java
 The architecture provides the framework
(services and rules) that allows
components to participate properly
The Component Model
 Discovery and Registration
 Raising and Handling of Events
 Persistence
 Visual Presentation
 Support for Visual Programming
The Component Model
 Discovery and Registration


Locate a component at run-time and
determine its supported interfaces

Registration process for a component to make
itself and its interfaces known

This mechanism allows components and


applications to be developed independently
The Component Model
 Raising and Handling of Events


Beans (or JavaBeans components) use
events to communicate with other Beans

A Bean that wants to receive events (a
listener Bean) registers its interest with the
Bean that triggers the event (a source Bean)
The Component Model
 Persistence


Persistence enables Beans to save and
restore their state

JavaBeans uses Java Object Serialization to
support persistence
The Component Model
 Visual Presentation


The Bean is free to choose its own visual
presentation (fonts, colours, shape, etc)

Many of these characteristics will be
properties of the Bean (some might be
persistent too)
The Component Model
 Support of Visual Programming


User can select a component from the
toolbox and place it into a container

Properties of the component can then be
edited to create the desired behaviour
Bean’s Properties
 Properties are a Bean’s appearance and
behaviour characteristics that can be
changed at design time

 By following specific naming conventions,


the properties of a Bean that are
“revealed” to the world can be identified
Conventions for Access
Methods
 Simple Properties:

For a property of type Type and name Name:

public Type getName( );

public void setName(Type value);
 Boolean Properties:

public boolean isName( );

public void setName(boolean value);
Bean Methods
 A Bean may be implemented by a Java
Class
 That Class contains a number of methods
that may be used to access and control
the Bean
 These are generally all the public methods
of the Class that implements the Bean
Events
 JavaBeans components interact by
generating “Events”
 Several components may register an
interest in an Event that is generated by a
specific component
 Occurrence of the Event triggers methods
to be called in all the components that are
“listening” for it
Introspection
 The process by which builder tools
discover a Bean’s features
Beans support introspection in two ways:

By adhering to specific rules (design patterns)
when naming properties, methods and events

By explicitly providing property, method and
event info within a Bean Information class
Introspection
 Low-level reflection:

Follow Bean coding style (we have seen)

Analysis of the Bean’s class can then reveal
properties and methods
 Revealing complex properties:

Implement a “BeanInfo” class
Customisation
 Beans expose properties so they can be
customised at design time
 Customisation is supported in two ways:

By using property editors

By creating more sophisticated Bean
customisers
Customisation
 Simple properties

Development tool will build property sheets
dynamically

User may then edit the properties to
customise the Bean
 For the Advanced User

Create a specific customiser for a Bean

This is kept separate to the Bean Class, as
with a BeanInfo Class
Further Features
 Visibility


It is not necessary for a Bean to be visible at
run-time (e.g. Bean controlling access to a
device or data feed)

It is necessary however for a Bean to support
the visual builder tool. Even an ‘invisible’ run-
time Bean shall be shown on the builder tool
Further Features
 Multithreading


Always assume your code will be used in a
multithreaded environment

Make sure that your Beans are thread-safe

Multithreading in JavaBeans is no different
than multithreading in Java
Further Features
 Security


By default assume that your Beans are
running in a non-trusted applet

Apply security restrictions such as
• Allow no access to the local file system
• Limit socket connections to the host system
Summary
 Beans build on Java features that already
exist
 We add a Builder Tool
 We use design patterns
 We record information about the Classes
that implement Beans

You might also like