Hi Jeff,

thank you for your reply. I had oversimplified the problem in the post: there needed to be an additional method in the Test class which was also called isWindows().

For completeness, this is what the code should have looked like in my previous post:
public class Test {
  static boolean isWindows = System.getProperty("os.name").toLowerCase().contains("windows");

  /* ... */

  public static final boolean isWindows() {
    return isWindows;

In Java there is no confusion possible between the isWindows field and the isWindows() function. However in jython the field gets hidden by the function.

My problem is solved now (my apologies for the incomplete previous post) but leads to a perhaps equally interesting question: if such Test class like the above one is given, is it then possible to access both the function "isWindows()" and the field "isWindows" of the Test class from within jython?



On Wed, Feb 4, 2009 at 5:39 PM, Jeff Emanuel <jemanuel@frii.com> wrote:
It works for correctly me on Jython 2.2.1 and Java 1.6.
I made the isWindows field public.  Otherwise, I get
AttributeError: class 'Test' has no attribute 'isWindows'

Jython 2.2.1 on java1.6.0_04
Type "copyright", "credits" or "license" for more information.
>>> import Test
>>> Test.isWindows

Tim Van den Bulcke wrote:

I have the following java class with one static boolean field "isWindows":

public class Test {
 static boolean isWindows = System.getProperty("os.name

After compiling this class and launching the jython interactive console,
this is the output when asking for the content of the field "isWindows":

<java function isWindows 1>

I would expect a boolean with value "True" on my Windows machine, but
instead I get a handle to a java function. If "Test.isWindows" is called
from within java, a boolean is returned as expected. Is this normal jython
behaviour or not? And if so, why?

For completeness:
- I am running Jython version 2.2a1 and Java 1.5 runtime
- System.getProperty("os.name")  results in "Windows XP" on my machine

Thanks in advance for any feedback,



Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com

Jython-users mailing list