GUIDEWIRE CLAIMCENTER
PROFESSIONAL EXAM | 2025/2026
STUDY GUIDE | VERIFIED QUESTIONS
AND ANSWERS | A+ GUARANTEED|
HIGHLY GRADED
Avoid using internal path for your classes - answers com.guidewire.* should be avoided.
These can always be potentially changed or replaced during an upgrade.
When referencing typecodes, use the static property on the typelist class instead of the
string representation - answers Use TC_TYPECODE instead of "typecode", example:
LossCause.TC_REAREND instead of "rearend"
Use the text for logical operators instead of the symbols - answers Use "and","or", and
"not" instead of "&&", "||", and "!"
Code placement - answers 1) Avoid placing code within the CODE tab of a PCF. Create
a UI helper class instead
2) Avoid extending entity enhancements with code supporting UI operations
Avoid using deprecated classes and methods - answers Guidewire will eventually
remove deprecated classes and methods.
Turn on and run Studio Inspections - answers These analyze configuration resources
Use whitespace effectively - answers Add spaces around operators
Do not add spaces between parentheses and operators
Indent logical blocks of code by two spaces only
Add a blank line after code blocks
Add two blank lines after methods, including the last method in a class
Comments and Annotations - answers Document new classes and functions with
Javadoc-style comments
Use single-line comments within functions and methods when you need to clarify the
intent of the code
Use GoseDoc annotations which are included when generating GosuDoc
"Upgrade-Safe" naming conventions: Add the suffix _Ext to - answers Columns added
to existing entities
,Typecodes added to existing typelists
The name of custom entities
The name of custom typelists
New PCF files
Script parameters
Package naming conventions - answers Use the format
customer.application.featurecategory.feature
Customer - company name abbreviation
Application- InsuranceSuite application code (pc, bc, cc, suite)
Feature Category - major feature (delinquency, configuration, integration)
Feature - feature (rating, catastrophe, authentication)
Example: si.suite.integration.authentication
Class naming conventions - answers Use UpperCamelCase
Do not add _Ext to classes within customer package spaces
Function naming conventions - answers Use lowerCamelCase
Use a verb that describes that the function is doing i.e. verifyAddress
Do not add _Ext suffix to private functions or enhancements in customer package
spaces
Variable naming conventions - answers Member variable names use lowerCamelCase
with a leading underscore i.e. _pluginCallbackHandler
Local variable names use lowerCamelCase short names that describe the purpose i.e.
latestPolicyRevision
Display key naming conventions - answers Add suffix _Ext too all new display keys
Do not modify automatically generated display keys
Logging is - answers The process of recording application actions and state to a
secondary interface
Logging is used for - answers Application maintenance and troubleshooting
Creating statistics relating to application usage
Auditing by capturing significant events
Typical events to log are - answers Success / Failure - a transaction or action has
succeeded or failed
Recovery - a system went down or connection failed, retried, and recovered
Identification - any large functional areas such as integration, rating, reinsurance, and
rules
Logging components - Logger - answers has a category and level, sends content to an
Appender
,Logging components - Appender - answers is an output destination (server console or
rolling file)
Logging components - Layout - answers defines the format of the content sent to an
appender
Logging Level - Trace - answers Description: Fine-grained informational events
When to use: Log method entry and exit
Logging Level - Debug - answers Description: Detailed informational events
When to use: Log important steps and calculations for diagnosing problems
Logging Level - Info - answers Description: Coarse-grained informational messages of
progress
When to use: Log the occurrence or result of an important event
Logging Level - Warn - answers Description: Indicate a potential problem
When to use: The user experience has not been affected
Logging Level - Error - answers Description - Indicate definite problems
When to use: The user experience has been affected
There are 2 ways to initialize a logger in Gosu - answers Integration:
PLLoggerCategory.INTEGRATION
Plugin: PLLoggerCategory.PLUGIN
Use sub-level of existing logging category to maintain structure.
Example: PLUGIN.MotorVehicleRecord
static var _motorVehiclePluginLogger =
LoggerFactory.getLogger(PLLoggerCategory.PLUGIN."MotorVehicleRecord")
Logging Format should be - answers a standard format to simplify analysis of large logs
Guarded Logging should be used - answers To test log level before logging costly
messages (those with expensive expressions)
Typically used with the DEBUG level
Format is - if (_logger.DebugEnabled) { <log statement content>}
Not required for parameterized expressions lacking expensive operations, as in:
var hello = "Hello"
var world = "world"
_logger.debug("{}, {}!", hello, world)
, Logging: Exception Messages - answers Logged at the ERROR level when user
interface is affected
Not all exceptions are errors - if they are expected, log at WARN or INFO level
Pass the exception object as the second argument
Logging Guidelines - answers Log with enough information to explain the state of the
application and what was happening
Excessive logging results in large logs with potential performance risk
Insufficient logging results in logs that lack utility
Use care with:
Data that is protected by legal, regulatory, or contractual obligations
Personally Identifiable Information (PII) - do not log PII at all!
Guidewire Query API General Best Practices - answers Use the property reference
(EntityType#Property) for type-safe access to the properties on the query entity type
Use the property reference to filter query results, join to another entity type, order rows
in the result set, or to specify a column for a row query
Use query.contains() after other query.compare() operations against indexed columns
for better performance against large data sets
Guidewire Query API - Denormalized columns improve performance of - answers Ends
with searches
Case-insensitive searches
Guidewire Query API Anti-Patterns - Bring back only the data you need by - answers
Avoid filtering query results in memory
Avoid filtering query results in the application server
Perform filtering in the database
Avoid the use of where(), first(), last(), firstWhere(), and lastWhere()
Guidewire Query API Anti-Patterns - use dot notation with care because - answers
accessing foreign keys or array fields retrieve additional entities into memory
Guidewire Query API Anti-Patterns - Check for existence of an entity when the number
of results is not important by - answers Verifying the results of a targeted query are not
empty
Avoiding hasMatch(), countWhere(), and select().Count
Guidewire Query API Anti-Patterns - When a count is necessary, let the database count
the entities and - answers Avoid countWhere()
Avoid counting collections
Avoid iterating over entities from the database to count them
Avoid counting entities before accessing them
Avoid countWhere() and select().Count
PROFESSIONAL EXAM | 2025/2026
STUDY GUIDE | VERIFIED QUESTIONS
AND ANSWERS | A+ GUARANTEED|
HIGHLY GRADED
Avoid using internal path for your classes - answers com.guidewire.* should be avoided.
These can always be potentially changed or replaced during an upgrade.
When referencing typecodes, use the static property on the typelist class instead of the
string representation - answers Use TC_TYPECODE instead of "typecode", example:
LossCause.TC_REAREND instead of "rearend"
Use the text for logical operators instead of the symbols - answers Use "and","or", and
"not" instead of "&&", "||", and "!"
Code placement - answers 1) Avoid placing code within the CODE tab of a PCF. Create
a UI helper class instead
2) Avoid extending entity enhancements with code supporting UI operations
Avoid using deprecated classes and methods - answers Guidewire will eventually
remove deprecated classes and methods.
Turn on and run Studio Inspections - answers These analyze configuration resources
Use whitespace effectively - answers Add spaces around operators
Do not add spaces between parentheses and operators
Indent logical blocks of code by two spaces only
Add a blank line after code blocks
Add two blank lines after methods, including the last method in a class
Comments and Annotations - answers Document new classes and functions with
Javadoc-style comments
Use single-line comments within functions and methods when you need to clarify the
intent of the code
Use GoseDoc annotations which are included when generating GosuDoc
"Upgrade-Safe" naming conventions: Add the suffix _Ext to - answers Columns added
to existing entities
,Typecodes added to existing typelists
The name of custom entities
The name of custom typelists
New PCF files
Script parameters
Package naming conventions - answers Use the format
customer.application.featurecategory.feature
Customer - company name abbreviation
Application- InsuranceSuite application code (pc, bc, cc, suite)
Feature Category - major feature (delinquency, configuration, integration)
Feature - feature (rating, catastrophe, authentication)
Example: si.suite.integration.authentication
Class naming conventions - answers Use UpperCamelCase
Do not add _Ext to classes within customer package spaces
Function naming conventions - answers Use lowerCamelCase
Use a verb that describes that the function is doing i.e. verifyAddress
Do not add _Ext suffix to private functions or enhancements in customer package
spaces
Variable naming conventions - answers Member variable names use lowerCamelCase
with a leading underscore i.e. _pluginCallbackHandler
Local variable names use lowerCamelCase short names that describe the purpose i.e.
latestPolicyRevision
Display key naming conventions - answers Add suffix _Ext too all new display keys
Do not modify automatically generated display keys
Logging is - answers The process of recording application actions and state to a
secondary interface
Logging is used for - answers Application maintenance and troubleshooting
Creating statistics relating to application usage
Auditing by capturing significant events
Typical events to log are - answers Success / Failure - a transaction or action has
succeeded or failed
Recovery - a system went down or connection failed, retried, and recovered
Identification - any large functional areas such as integration, rating, reinsurance, and
rules
Logging components - Logger - answers has a category and level, sends content to an
Appender
,Logging components - Appender - answers is an output destination (server console or
rolling file)
Logging components - Layout - answers defines the format of the content sent to an
appender
Logging Level - Trace - answers Description: Fine-grained informational events
When to use: Log method entry and exit
Logging Level - Debug - answers Description: Detailed informational events
When to use: Log important steps and calculations for diagnosing problems
Logging Level - Info - answers Description: Coarse-grained informational messages of
progress
When to use: Log the occurrence or result of an important event
Logging Level - Warn - answers Description: Indicate a potential problem
When to use: The user experience has not been affected
Logging Level - Error - answers Description - Indicate definite problems
When to use: The user experience has been affected
There are 2 ways to initialize a logger in Gosu - answers Integration:
PLLoggerCategory.INTEGRATION
Plugin: PLLoggerCategory.PLUGIN
Use sub-level of existing logging category to maintain structure.
Example: PLUGIN.MotorVehicleRecord
static var _motorVehiclePluginLogger =
LoggerFactory.getLogger(PLLoggerCategory.PLUGIN."MotorVehicleRecord")
Logging Format should be - answers a standard format to simplify analysis of large logs
Guarded Logging should be used - answers To test log level before logging costly
messages (those with expensive expressions)
Typically used with the DEBUG level
Format is - if (_logger.DebugEnabled) { <log statement content>}
Not required for parameterized expressions lacking expensive operations, as in:
var hello = "Hello"
var world = "world"
_logger.debug("{}, {}!", hello, world)
, Logging: Exception Messages - answers Logged at the ERROR level when user
interface is affected
Not all exceptions are errors - if they are expected, log at WARN or INFO level
Pass the exception object as the second argument
Logging Guidelines - answers Log with enough information to explain the state of the
application and what was happening
Excessive logging results in large logs with potential performance risk
Insufficient logging results in logs that lack utility
Use care with:
Data that is protected by legal, regulatory, or contractual obligations
Personally Identifiable Information (PII) - do not log PII at all!
Guidewire Query API General Best Practices - answers Use the property reference
(EntityType#Property) for type-safe access to the properties on the query entity type
Use the property reference to filter query results, join to another entity type, order rows
in the result set, or to specify a column for a row query
Use query.contains() after other query.compare() operations against indexed columns
for better performance against large data sets
Guidewire Query API - Denormalized columns improve performance of - answers Ends
with searches
Case-insensitive searches
Guidewire Query API Anti-Patterns - Bring back only the data you need by - answers
Avoid filtering query results in memory
Avoid filtering query results in the application server
Perform filtering in the database
Avoid the use of where(), first(), last(), firstWhere(), and lastWhere()
Guidewire Query API Anti-Patterns - use dot notation with care because - answers
accessing foreign keys or array fields retrieve additional entities into memory
Guidewire Query API Anti-Patterns - Check for existence of an entity when the number
of results is not important by - answers Verifying the results of a targeted query are not
empty
Avoiding hasMatch(), countWhere(), and select().Count
Guidewire Query API Anti-Patterns - When a count is necessary, let the database count
the entities and - answers Avoid countWhere()
Avoid counting collections
Avoid iterating over entities from the database to count them
Avoid counting entities before accessing them
Avoid countWhere() and select().Count