ADC Home > Reference Library > Technical Q&As > Legacy Documents > Java >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Properties versus methods in automatically generated 'aete' resources


Q: I am using AppleScript for Java and I have a routine that shows up as a property instead of a method in the automatically generated 'aete' resource.

My method:

public void
setDictionaryName( String name ){...}

Shows up in the AppleScript dictionary as:

Properties:
<Inheritance>
Object [r/o]
dictionary name
string -- public void foo.setDictionaryName(String)

I was expecting the dictionary to look like this:

MyClass:
setDictionaryName: public voidfoo.setDictionaryName(String)
setDictionaryName reference
parameters string

Why is this happening?

A: If you have a method that uses the standard Java bean syntax for property accessor routines (i.e., methods that are in the format setX(), getX(), or isX() where X is a property name), the introspector will assume that the routines are class properties.

The method you declared looks like a routine for setting the value of the dictionaryName property, so it is interpreted as a property accessor function. As a result, the default behavior for the automatic terminology generator creates an entry in the dictionary in the property format instead of a method format.

This behavior may actually be preferred since it is a lot easier to script an application as:

set dictionary name of foo 1 to "English Language"

compared to:

setDictionaryName of foo 1 parameters { "English Language" }

[May 17 1999]


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.