For each palette symbol, the Symbol Compiler generates a subclass
of IlvCompositeGraphic and a corresponding Java™ BeanInfo class to expose the
symbol parameters as JavaBean™
properties.
Class name and package
The package of the generated Java class is
defined by the symbol palette package name. The class name is the
ID of the symbol with the first character converted to uppercase
if it is not a capital letter.
A palette symbol can only be compiled if
its ID is a valid Java class name and its palette package name is
a valid Java package.
Constructor
The generated symbol constructor of the
symbol class creates the elements of the composite graphic as they
are specified in the Symbol Editor, with the attachments and
initial properties, according to the default values of the
parameters.
Parameters
Each symbol parameter is translated into a
JavaBean property with the same name. All the properties
corresponding to the parameters are exported to a BeanInfo class.
The getter and setter functions are generated with the additional
Parameter prefix. For this reason, the parameter IDs must be valid
Java identifiers.
For example, for a string parameter named
label, you will have:
- a bean property named label, of type String
- the getter function: String getLabelParameter()
- the setter function: void setLabelParameter(String value)
The generated code of a parameter setter
function updates the properties of the symbol elements that
reference the parameter in their value definitions with direct
function calls. If the parameter is referenced in rule conditions,
the applicable symbol element properties are also updated in the
conditional block of the generated Java code.
Selectable symbols
If your palette symbol has elements that respond to selection, the
generated class implements the IlvSelectableSymbol interface and defines
the selectionStateChanged method that you can
call to update the symbol when it is selected or deselected.