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