public class FieldReferenceConverter
extends java.lang.Object
<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.
Modifier and Type | Class and Description |
---|---|
(package private) static interface |
FieldReferenceConverter.Delegate
Responsible for the bits around and between the field references.
|
static class |
FieldReferenceConverter.IllegalFieldReferenceException
May be thrown by the
Delegate for badly formatted input. |
Constructor and Description |
---|
FieldReferenceConverter(com.google.gwt.uibinder.rebind.FieldManager fieldManager) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
convert(java.lang.String in,
FieldReferenceConverter.Delegate delegate) |
java.lang.String |
convert(com.google.gwt.uibinder.rebind.XMLElement source,
java.lang.String in,
FieldReferenceConverter.Delegate delegate) |
static int |
countFieldReferences(java.lang.String string)
Returns the number of field references in the given string.
|
static java.lang.String |
expressionToPath(java.lang.String expression)
Reverses most of the work of
convert(java.lang.String, com.google.gwt.uibinder.attributeparsers.FieldReferenceConverter.Delegate) , turning a java expression
back into a dotted path. |
static boolean |
hasFieldReferences(java.lang.String string)
Returns true if the given string holds one or more field references.
|
FieldReferenceConverter(com.google.gwt.uibinder.rebind.FieldManager fieldManager)
fieldManager
- to register parsed references with. May be nullpublic static int countFieldReferences(java.lang.String string)
public static java.lang.String expressionToPath(java.lang.String expression)
convert(java.lang.String, com.google.gwt.uibinder.attributeparsers.FieldReferenceConverter.Delegate)
, turning a java expression
back into a dotted path.public static boolean hasFieldReferences(java.lang.String string)
public java.lang.String convert(java.lang.String in, FieldReferenceConverter.Delegate delegate)
FieldReferenceConverter.IllegalFieldReferenceException
- if the delegate doespublic java.lang.String convert(com.google.gwt.uibinder.rebind.XMLElement source, java.lang.String in, FieldReferenceConverter.Delegate delegate)
FieldReferenceConverter.IllegalFieldReferenceException
- if the delegate does