A special problem arises if you want to override a property value and set its value to null. Because of the way properties files are combined, a null value will not override a non-null value set earlier in the CONFIGPATH. For example, suppose you have a component /atg/foo/boo with a smells property. If its value is set in the base configuration layer like this:

$class=atg.service.funkystuff.foo.Boo
smells=spicy

and you want to set the value of the smells property to be null instead, neither of the following two property settings will work:

smells=

or

smells=null

The ATG platform provides a Constants Nucleus service that lets you set null values by reference. This service, with a Nucleus address of /Constants, has a single property, named null, with a value of null. This enables you to set a property value to null like this:

smells^=/Constants.null
 
loading table of contents...