Class FieldReferenceConverter

java.lang.Object
com.google.gwt.uibinder.attributeparsers.FieldReferenceConverter

public class FieldReferenceConverter extends Object
Deals with field references, e.g. the bits in braces here: <div class="{style.enabled} fancy {style.impressive}" />, by converting them to java expressions (with the help of a Delegate).

A field reference is one or more segments separated by dots. The first segment is considered to be a reference to a ui field, and succeeding segments are method calls. So, "{able.baker.charlie}" becomes "able.baker().charlie()".

A field reference starts with '{' and is followed immediately by a character that can legally start a java identifier—that is a letter, $, or underscore. Braces not followed by such a character are left in place.

For convenience when dealing with generated CssResources, field segments with dashes are converted to camel case. That is, {able.baker-charlie} is the same as {able.bakerCharlie}

Double mustaches (i.e. "{{..}}") are not matched as references to play well with modern templating systems.

Opening braces may be escape by slash. That is, "\{foo}" will converted to "{foo}", with no field reference detected.