Filter objects for Java

  • Authors:
  • Rushikesh K. Joshi;Maureen Mascarenhas;Yogesh Murarka

  • Affiliations:
  • Department of Computer Science & Engineering, Indian Institute of Technology, Bombay, Powai, Mumbai - 400076, India;Motorola India, Bangalore;Department of Computer Science & Engineering, Indian Institute of Technology, Bombay, Powai, Mumbai - 400076, India

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Filtering is an emerging abstraction in object-oriented systems. Filtering can be characterized by an ability to filter messages in transit and perform intermediate actions. Filters can be used for carrying out intermediate tasks such as encryption, load balancing, caching, security checks and add-on computations. A few filtering approaches have been proposed earlier and some commercial implementations with specialized filtering capabilities are available. This paper discusses a model for transparent and dynamically pluggable first class filter objects for object-oriented systems based on the Java programming language. The filter object model is based on an interclass filter relationship. The model is realized through extensions to the Java programming language. Filter objects can be injected into message paths during execution time and they are transparent to both clients and servers. The properties of filter objects enable them to be employed as a mechanism for evolution promoting reuse of existing code. A method of evolution through filter objects is discussed. A translator for Java filters (TJF) has been designed and implemented. TJF translates an extended Java program involving filter constructs into an equivalent Java code. The translation scheme is presented and the performance of the translated code is analyzed. A brief survey of existing approaches related to filtering in object-oriented systems has also been presented.