GWT 2.7.0

com.google.gwt.uibinder.attributeparsers
Class FieldReferenceConverter

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

public class FieldReferenceConverter
extends java.lang.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}

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


Nested Class Summary
(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 Summary
FieldReferenceConverter(com.google.gwt.uibinder.rebind.FieldManager fieldManager)
           
 
Method Summary
 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 expresion back into a dotted path.
static boolean hasFieldReferences(java.lang.String string)
          Returns true if the given string holds one or more field references.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FieldReferenceConverter

FieldReferenceConverter(com.google.gwt.uibinder.rebind.FieldManager fieldManager)
Parameters:
fieldManager - to register parsed references with. May be null
Method Detail

countFieldReferences

public static int countFieldReferences(java.lang.String string)
Returns the number of field references in the given string.


expressionToPath

public 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 expresion back into a dotted path.


hasFieldReferences

public static boolean hasFieldReferences(java.lang.String string)
Returns true if the given string holds one or more field references.


convert

public java.lang.String convert(java.lang.String in,
                                FieldReferenceConverter.Delegate delegate)
Throws:
FieldReferenceConverter.IllegalFieldReferenceException - if the delegate does

convert

public java.lang.String convert(com.google.gwt.uibinder.rebind.XMLElement source,
                                java.lang.String in,
                                FieldReferenceConverter.Delegate delegate)
Throws:
FieldReferenceConverter.IllegalFieldReferenceException - if the delegate does

GWT 2.7.0