In Guidewire development, you cannot directly modify the underlying Java classes generated from entities. To add custom logic, properties, or methods to an existing entity like Contact, developers must use Gosu Enhancements. This allows the extra functionality to be available on every instance of that entity throughout the application (Rules, PCFs, and other Gosu classes) without altering the base product files.
1. Package Naming Standards (Option E)
According to the InsuranceSuite Developer Fundamentals and Cloud Delivery Standards, custom code must always be placed in a unique, customer-specific package. The gw package (Option C) is strictly reserved for Guidewire ' s internal code. Placing custom enhancements in a package like si.cc.entity.enhancements (where si stands for Succeed Insurance) ensures that the code is " upgrade-safe. " During a platform upgrade, Guidewire replaces the gw packages but leaves the customer ' s custom packages untouched.
2. Properties vs. Functions (Option D)
The requirement specifically asks for a " getter property. " In Gosu, this is implemented using the property get keyword. While you could technically write a function (e.g., getSomeValue()), a property allows for a cleaner syntax in other parts of the application. For example, if you define a property FullName_Ext, you can access it as myContact.FullName_Ext rather than myContact.getFullName_Ext(). This follows the Guidewire best practice of making the entity model feel like a cohesive, POJO-like structure.
Why other options are incorrect:
Options A and B: .eti (Entity Interface) and .etx (Entity Extension) files are metadata files used to define the database schema (columns, foreign keys, etc.). They are not used to write Gosu logic or enhancement definitions.
Option F: While a " get function " is valid Gosu, the question specifically asks for a " getter property, " which has a distinct syntax (property get) in the Guidewire framework.
By creating an enhancement in a customer-specific package and using the property syntax, the developer ensures the code is performant, readable, and follows the strict architectural guidelines required for Guidewire Cloud.