Rahul Sharma (Editor)

JavaBeans Activation Framework

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Introduction

In computer programming, JavaBeans Activation Framework, or JAF, enables developers to:

Contents

  • determine the type of an arbitrary piece of data,
  • encapsulate access to it,
  • discover the operations available on it and
  • to instantiate the appropriate bean to perform the operation(s).
  • It also enables you to dynamically register types of arbitrary data and actions associated with particular kinds of data. Additionally, it enables a program to dynamically provide or retrieve JavaBeans that implement actions associated with some kind of data.

  • JSR-925
  • Latest spec version is 1.1
  • It's an old spec released on April 2006
  • It's originally an extension API
  • Now available as a standard API in Java SE and Java EE
  • Has only one package javax.activation (4 interfaces, 13 classes)
  • Datasource Interface

  • Provides access to an arbitrary collection of data
  • Get name of the data, data-type name (content type), and the data itself asInputStream or OutputStream
  • Two implementation classes provided
  • URLDataSource simplifies the handling of data described by URLs
  • FileDataSource simple DataSource object that encapsulates a file provides data typing services -> delegated to a FileTypeMap object.
  • Other implementations
  • javax.mail.internet.MimePartDataSource
  • javax.mail.util.ByteArrayDataSource
  • DataContentHandler interface

  • Convert the object to a byte stream and write it to the output stream
  • Convert streams in to objects
  • Used to get object/data which can be transferred
  • Uses java.awt.datatransfer.DataFlavor to indicate the data that can be accessed. DataFlavor is a data format as would appear on a clipboard, during drag and drop, or in a file system.
  • CommandMap class

  • An abstract class provides an interface to a registry of command objects available in the system
  • Developer develop their own implementation or use
  • MailcapCommandMap class that implements a CommandMap whose configuration is based on mailcap files (1524)
  • Command list available from a MIME Type is stored in CommandInfo object.
  • CommandObject interface

  • Interface to be implemented by JavaBeans components that are ActivationFramework aware
  • Simple interface with one method:
  • setCommandContext(String verb, DataHandler dh)
  • JAF in use

  • REST easy with the JavaBeans Activation Framework
  • http://www.javaworld.com/javaworld/jw-10-2007/jw-10-resteasy.html
  • Example also available in Java' 6™ New Features: A Tutorial' book, chapter-13 ISBN 0-9752128-8-5
  • Other presentation deck: http://www.hilbertinc.com/whitepapers/JAF.pdf
  • References

    JavaBeans Activation Framework Wikipedia