Skip to Content
Jython Essentials
book

Jython Essentials

by Samuele Pedroni, Noel Rappin
March 2002
Beginner
300 pages
8h 22m
English
O'Reilly Media, Inc.
Content preview from Jython Essentials

Chapter 8. Reflection and JavaBeans

Chapter 6 and Chapter 7 showed how to use and extend existing Java code with Jython. This chapter offers a slightly different perspective on the use of Java code. It explains not merely how to use the Java code, but also how Jython’s own use of Java reflection can make working with JavaBeans easier from Jython than from Java. This chapter also shows how Python’s own reflection can help you write better code.

Reflection is the ability of an object to find out about its structure, and to operate on that knowledge. Examples include the ability to list all the instance’s attributes, and the ability to invoke a method from its name string. In Java, reflection is managed by the java.lang.reflect package, which defines objects that encapsulate fields and methods. In Python, reflection is a much more integrated part of the language, with the ability of instances (and other language objects) to provide information about themselves built into the core of the way objects are defined.

Reflection is useful because it allows for more flexible and abstract manipulation of objects. For example, consider a case in which a user may change an object’s attributes at runtime from a web form. The result of that change is a series of key/value pairs of the new attributes. Without reflection, you would probably need a large case statement or the equivalent to separately change the appropriate attribute based on the key. With reflection, you can send the object the key ...

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

Swing for Jython: Graphical Jython UI and Scripts Development using Java Swing and WebSphere Application Server

Swing for Jython: Graphical Jython UI and Scripts Development using Java Swing and WebSphere Application Server

Robert Gibson
Introduction to JVM Languages

Introduction to JVM Languages

Ramasubramanian Sankar, Vincent van der Leun
Oracle Essbase & Oracle OLAP

Oracle Essbase & Oracle OLAP

Michael Schrader, Dan Vlamis, Mike Nader, Chris Claterbos, Dave Collins, Mitch Campbell, Floyd Conrad

Publisher Resources

ISBN: 9781449397364Errata Page