Palette parameters

Parameters contain values associated with a symbol. A parameter is bound to a graphic element to cause a transformation, that is, a change in the elements aspect to represent a change in data. For example, an icon that changes color to show an alert.
Parameters are set on a symbol using instances of IlvPaletteSymbolParameter. This class contains the definition of one parameter. You add a parameter to a symbol by calling:
//Create a new palette
IlvPalette palette = new IlvPalette();
palette.setName(name);
palette.setDescription(french, descr);

//Create a root category for the palette
String categoryID = "root";
IlvPaletteCategory rootCategory = new IlvPaletteCategory(categoryID);
palette.setRoot(rootCategory); 
rootCategory.setName(categoryID);

//Create a new symbol
String symbolID = "symbol1";
IlvPaletteSymbol s = palette.addSymbol(rootCategory, symbolID);
s.setName(symbolID);

//Create a new parameter
IlvPaletteSymbolParameter p2 = new IlvPaletteSymbolParameter();
p.setID("progress");
p.setName("progress");
p.setValue(new Integer(0));

//Add the parameter to a symbol
s.addParameter(p);
Parameters can accept any value or only an allowed set of values, such as “wait”, “attention”, “go”, or 1, 2, 3. The description of the allowed values for a parameter is set using the IlvPaletteSymbolParameterValueSet class. You set allowed values for a class by calling:
//Create a new value set
String vsetID = "vset1";
IlvPaletteSymbolParameterValueSet vset = new
 IlvPaletteSymbolParameterValueSet(vsetID);
vset.setName(vsetID);
vset.setType("Integer");

vset.setValues(new int[] { 1, 2, 3 });
vset.setValueName(0, "one");
vset.setValueName(1, "two");
vset.setValueName(2, "three");

//Add the value set to a palette
palette.setValueSet(vset);

//Create a new parameter
IlvPaletteSymbolParameter p = new IlvPaletteSymbolParameter();
p.setID("progress");
p.setName("progress");
p.setValue(null);

//Add the value set to a parameter
p.setType("set");
p.setValueSet(vset);
Please note that the CSS of the symbol must be consistent with the parameters of the symbol. For example, if you wanted to use the file Dial.css (in ilog/views/palettes/shared/symbols/Dial.css ), you would need to define the parameters name and value for the symbol, as Dial.css refers to these parameters:
s.addParameter(
  new IlvPaletteSymbolParameter("value", new Double(0), "double", null));
s.addParameter(
  new IlvPaletteSymbolParameter("name", "DefaultName", "string", null));
...
The parameters constitute the visible interface of the symbol. They hide the internals of the CSS, so that it is only through the parameters that you can modify the symbol.