Obfuscator interface
If you intend to use obfuscation with an entity, the entity must implement the Obfuscator interface. Each entity that implements the Obfuscator interface must also designate an implementation class, such as UserContactObfuscator.
For example, in the base configuration, UserContact.etx has the following definition:
<extension xmlns="http://guidewire.com/datamodel"
entityName="UserContact">
<implementsInterface
iface="gw.api.obfuscation.Obfuscator"
impl="gw.personaldata.obfuscation.UserContactDefaultObfuscator"/>
<column-override
name="EmployeeNumber">
<tag
name="PersonalData"
value="ObfuscateDefault"/>
</column-override>
</extension>
In the base configuration, an entity can implement the Obfuscatable delegate but have an Obfuscator interface implementation of UnsupportedObfuscator. In this case, even if the entity is marked as obfuscatable, any attempt to obfuscate it results in an UnsupportedOperation exception.
To be able to obfuscate an entity, you must either use an existing obfuscator or write a suitable obfuscator, such as one that extends PersonalDataObfuscator.
See also
