/** * Register a new field for {@link com.google.gwt.uibinder.client.LazyDomElement} * types. LazyDomElement fields can only be associated with html elements. Example: * * <li>LazyDomElement<DivElement> -> <div></li> * <li>LazyDomElement<Element> -> <div></li> * <li>LazyDomElement<SpanElement> -> <span></li> * * @param templateFieldType the html type to bind, eg, SpanElement, DivElement, etc * @param ownerField the field instance */ public FieldWriter registerFieldForLazyDomElement(JClassType templateFieldType, OwnerField ownerField) throws UnableToCompleteException { if (ownerField == null) { throw new RuntimeException("Cannot register a null owner field for LazyDomElement."); } FieldWriter field = new FieldWriterOfLazyDomElement(this, templateFieldType, ownerField, logger); return registerField(ownerField.getName(), field); }
/** * Register a new field for {@link com.google.gwt.uibinder.client.LazyDomElement} * types. LazyDomElement fields can only be associated with html elements. Example: * * <li>LazyDomElement<DivElement> -> <div></li> * <li>LazyDomElement<Element> -> <div></li> * <li>LazyDomElement<SpanElement> -> <span></li> * * @param templateFieldType the html type to bind, eg, SpanElement, DivElement, etc * @param ownerField the field instance */ public FieldWriter registerFieldForLazyDomElement(JClassType templateFieldType, OwnerField ownerField) throws UnableToCompleteException { if (ownerField == null) { throw new RuntimeException("Cannot register a null owner field for LazyDomElement."); } FieldWriter field = new FieldWriterOfLazyDomElement(this, templateFieldType, ownerField, logger); return registerField(ownerField.getName(), field); }
public FieldWriterOfLazyDomElement(FieldManager manager, JClassType templateFieldType, OwnerField ownerField, MortalLogger logger) throws UnableToCompleteException { super(manager, FieldWriterType.DEFAULT, ownerField.getName(), logger); // ownerFieldType null means LazyDomElement is not parameterized. this.ownerFieldType = ownerField.getRawType().isParameterized(); if (ownerFieldType == null) { logger.die("LazyDomElement must be of type LazyDomElement<? extends Element>."); } // Parameterized LazyDomElement<T> must match its respective html element. // Example: // DivElement -> div // SpanElement -> span parameterType = ownerFieldType.getTypeArgs()[0]; if (!templateFieldType.isAssignableTo(parameterType)) { logger.die("Field %s is %s<%s>, must be %s<%s>.", ownerField.getName(), ownerFieldType.getQualifiedSourceName(), parameterType, ownerFieldType.getQualifiedSourceName(), templateFieldType); } }
public FieldWriterOfLazyDomElement(FieldManager manager, JClassType templateFieldType, OwnerField ownerField, MortalLogger logger) throws UnableToCompleteException { super(manager, FieldWriterType.DEFAULT, ownerField.getName(), logger); // ownerFieldType null means LazyDomElement is not parameterized. this.ownerFieldType = ownerField.getRawType().isParameterized(); if (ownerFieldType == null) { logger.die("LazyDomElement must be of type LazyDomElement<? extends Element>."); } // Parameterized LazyDomElement<T> must match its respective html element. // Example: // DivElement -> div // SpanElement -> span parameterType = ownerFieldType.getTypeArgs()[0]; if (!templateFieldType.isAssignableTo(parameterType)) { logger.die("Field %s is %s<%s>, must be %s<%s>.", ownerField.getName(), ownerFieldType.getQualifiedSourceName(), parameterType, ownerFieldType.getQualifiedSourceName(), templateFieldType); } }
ownerField.getName(), templateClass.getQualifiedSourceName(), fieldType.getQualifiedSourceName()); niceWriter.write("owner.%1$s = %2$s;", ownerField.getName(), templateField); } else { + "@UiField(provided=true)%s is not assignable to %s", ownerField.getName(), fieldType.getQualifiedSourceName(), templateClass.getQualifiedSourceName());
ownerField.getName(), templateClass.getQualifiedSourceName(), fieldType.getQualifiedSourceName()); niceWriter.write("owner.%1$s = %2$s;", ownerField.getName(), templateField); } else { + "@UiField(provided=true)%s is not assignable to %s", ownerField.getName(), fieldType.getQualifiedSourceName(), templateClass.getQualifiedSourceName());
private void createResourceUiField(String resourceName, OwnerField ownerField) throws UnableToCompleteException { FieldWriter fieldWriter; String initializer; if (writer.getDesignTime().isDesignTime()) { String typeName = ownerField.getType().getRawType().getQualifiedSourceName(); initializer = writer.getDesignTime().getProvidedField(typeName, ownerField.getName()); } else { initializer = "owner." + ownerField.getName(); } fieldWriter = fieldManager.registerField( FieldWriterType.IMPORTED, ownerField.getType().getRawType().getErasedType(), resourceName); fieldWriter.setInitializer(initializer); }
private void createResourceUiField(String resourceName, OwnerField ownerField) throws UnableToCompleteException { FieldWriter fieldWriter; String initializer; if (writer.getDesignTime().isDesignTime()) { String typeName = ownerField.getType().getRawType().getQualifiedSourceName(); initializer = writer.getDesignTime().getProvidedField(typeName, ownerField.getName()); } else { initializer = "owner." + ownerField.getName(); } fieldWriter = fieldManager.registerField( FieldWriterType.IMPORTED, ownerField.getType().getRawType().getErasedType(), resourceName); fieldWriter.setInitializer(initializer); }
/** * Write declarations for variables or fields to hold elements declared with * gwt:field in the template. For those that have not had constructor * generation suppressed, emit GWT.create() calls instantiating them (or die * if they have no default constructor). * * @throws UnableToCompleteException on constructor problem */ private void writeGwtFields(IndentedWriter niceWriter) throws UnableToCompleteException { // For each provided field in the owner class, initialize from the owner Collection<OwnerField> ownerFields = getOwnerClass().getUiFields(); for (OwnerField ownerField : ownerFields) { if (ownerField.isProvided()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); // TODO why can this be null? if (fieldWriter != null) { String initializer; if (designTime.isDesignTime()) { String typeName = ownerField.getType().getRawType().getQualifiedSourceName(); initializer = designTime.getProvidedField(typeName, ownerField.getName()); } else { initializer = formatCode("owner.%1$s", fieldName); } fieldManager.lookup(fieldName).setInitializer(initializer); } } } fieldManager.writeGwtFieldsDeclaration(niceWriter); }
/** * Write declarations for variables or fields to hold elements declared with * gwt:field in the template. For those that have not had constructor * generation suppressed, emit GWT.create() calls instantiating them (or die * if they have no default constructor). * * @throws UnableToCompleteException on constructor problem */ private void writeGwtFields(IndentedWriter niceWriter) throws UnableToCompleteException { // For each provided field in the owner class, initialize from the owner Collection<OwnerField> ownerFields = getOwnerClass().getUiFields(); for (OwnerField ownerField : ownerFields) { if (ownerField.isProvided()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); // TODO why can this be null? if (fieldWriter != null) { String initializer; if (designTime.isDesignTime()) { String typeName = ownerField.getType().getRawType().getQualifiedSourceName(); initializer = designTime.getProvidedField(typeName, ownerField.getName()); } else { initializer = formatCode("owner.%1$s", fieldName); } fieldManager.lookup(fieldName).setInitializer(initializer); } } } fieldManager.writeGwtFieldsDeclaration(niceWriter); }
/** * Write declarations for variables or fields to hold elements declared with * gwt:field in the template. For those that have not had constructor * generation suppressed, emit GWT.create() calls instantiating them (or die * if they have no default constructor). * * @throws UnableToCompleteException on constructor problem */ private void writeGwtFields(IndentedWriter niceWriter) throws UnableToCompleteException { // For each provided field in the owner class, initialize from the owner Collection<OwnerField> ownerFields = getOwnerClass().getUiFields(); for (OwnerField ownerField : ownerFields) { if (ownerField.isProvided()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); // TODO why can this be null? if (fieldWriter != null) { String initializer; if (designTime.isDesignTime()) { String typeName = ownerField.getType().getRawType().getQualifiedSourceName(); initializer = designTime.getProvidedField(typeName, ownerField.getName()); } else { initializer = formatCode("owner.%1$s", fieldName); } fieldManager.lookup(fieldName).setInitializer(initializer); } } } fieldManager.writeGwtFieldsDeclaration(niceWriter); }
/** * Write declarations for variables or fields to hold elements declared with * gwt:field in the template. For those that have not had constructor * generation suppressed, emit GWT.create() calls instantiating them (or die * if they have no default constructor). * * @throws UnableToCompleteException on constructor problem */ private void writeGwtFields(IndentedWriter niceWriter) throws UnableToCompleteException { // For each provided field in the owner class, initialize from the owner Collection<OwnerField> ownerFields = getOwnerClass().getUiFields(); for (OwnerField ownerField : ownerFields) { if (ownerField.isProvided()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); // TODO why can this be null? if (fieldWriter != null) { String initializer; if (designTime.isDesignTime()) { String typeName = ownerField.getType().getRawType().getQualifiedSourceName(); initializer = designTime.getProvidedField(typeName, ownerField.getName()); } else { initializer = formatCode("owner.%1$s", fieldName); } fieldManager.lookup(fieldName).setInitializer(initializer); } } } fieldManager.writeGwtFieldsDeclaration(niceWriter); }
/** * Evaluate whether all @UiField attributes are also defined in the template. * Dies if not. */ private void evaluateUiFields() throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter == null) { die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Evaluate whether all @UiField attributes are also defined in the template. * Dies if not. */ private void evaluateUiFields() throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter == null) { die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Evaluate whether all @UiField attributes are also defined in the template. * Dies if not. */ private void evaluateUiFields() throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter == null) { die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Evaluate whether all @UiField attributes are also defined in the template. * Dies if not. */ private void evaluateUiFields() throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter == null) { die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Write the statements to fill in the fields of the UI owner. */ private void writeOwnerFieldSetters(IndentedWriter niceWriter) throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter != null) { // ownerField is a widget. JClassType type = fieldWriter.getInstantiableType(); if (type != null) { maybeWriteFieldSetter(niceWriter, ownerField, fieldWriter.getInstantiableType(), fieldName); } else { // Must be a generated type if (!ownerField.isProvided()) { niceWriter.write("owner.%1$s = %1$s;", fieldName); } } } else { // ownerField was not found as bundle resource or widget, must die. die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Write the statements to fill in the fields of the UI owner. */ private void writeOwnerFieldSetters(IndentedWriter niceWriter) throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter != null) { // ownerField is a widget. JClassType type = fieldWriter.getInstantiableType(); if (type != null) { maybeWriteFieldSetter(niceWriter, ownerField, fieldWriter.getInstantiableType(), fieldName); } else { // Must be a generated type if (!ownerField.isProvided()) { niceWriter.write("owner.%1$s = %1$s;", fieldName); } } } else { // ownerField was not found as bundle resource or widget, must die. die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Write the statements to fill in the fields of the UI owner. */ private void writeOwnerFieldSetters(IndentedWriter niceWriter) throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter != null) { // ownerField is a widget. JClassType type = fieldWriter.getInstantiableType(); if (type != null) { maybeWriteFieldSetter(niceWriter, ownerField, fieldWriter.getInstantiableType(), fieldName); } else { // Must be a generated type if (!ownerField.isProvided()) { niceWriter.write("owner.%1$s = %1$s;", fieldName); } } } else { // ownerField was not found as bundle resource or widget, must die. die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }
/** * Write the statements to fill in the fields of the UI owner. */ private void writeOwnerFieldSetters(IndentedWriter niceWriter) throws UnableToCompleteException { if (designTime.isDesignTime()) { return; } for (OwnerField ownerField : getOwnerClass().getUiFields()) { String fieldName = ownerField.getName(); FieldWriter fieldWriter = fieldManager.lookup(fieldName); if (fieldWriter != null) { // ownerField is a widget. JClassType type = fieldWriter.getInstantiableType(); if (type != null) { maybeWriteFieldSetter(niceWriter, ownerField, fieldWriter.getInstantiableType(), fieldName); } else { // Must be a generated type if (!ownerField.isProvided()) { niceWriter.write("owner.%1$s = %1$s;", fieldName); } } } else { // ownerField was not found as bundle resource or widget, must die. die("Template %s has no %s attribute for %s.%s#%s", templatePath, getUiFieldAttributeName(), uiOwnerType.getPackage().getName(), uiOwnerType.getName(), fieldName); } } }