public void parse(XMLElement elem, String fieldName, JClassType type, final UiBinderWriter writer) throws UnableToCompleteException { String customTag = elem.consumeStringAttribute("tag", null); if (null != customTag) { OwnerField uiField = writer.getOwnerClass().getUiField(fieldName); if (uiField != null && uiField.isProvided()) { writer.die("UiField %s for FlowPanel cannot set tag when it is also provided.", fieldName); } writer.setFieldInitializerAsConstructor(fieldName, customTag); } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { if (writer.getOwnerClass().getUiField(fieldName).isProvided()) { return; } if (!writer.useLazyWidgetBuilders()) { writer.die("LazyPanel only works with UiBinder.useLazyWidgetBuilders enabled."); } XMLElement child = elem.consumeSingleChildElement(); if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); String lazyPanelClassPath = LazyPanel.class.getName(); String widgetClassPath = Widget.class.getName(); String code = String.format(INITIALIZER_FORMAT, lazyPanelClassPath, widgetClassPath, childField.getNextReference()); writer.setFieldInitializer(fieldName, code); } }
OwnerField uiField = writer.getOwnerClass().getUiField(fieldName); if ((uiField == null) || (!uiField.isProvided())) { creator = writer.getOwnerClass().getUiFactoryMethod(type); if (creator == null) {
OwnerField uiField = writer.getOwnerClass().getUiField(fieldName); if (uiField != null && uiField.isProvided()) { writer.die("UiField %s for HTMLPanel cannot be provided.", fieldName);
OwnerField uiField = writer.getOwnerClass().getUiField(fieldName); if (uiField != null && uiField.isProvided()) { writer.die("UiField %s for RenderablePanel cannot be provided.", fieldName);
public void parse(XMLElement elem, String fieldName, JClassType type, final UiBinderWriter writer) throws UnableToCompleteException { String customTag = elem.consumeStringAttribute("tag", null); if (null != customTag) { OwnerField uiField = writer.getOwnerClass().getUiField(fieldName); if (uiField != null && uiField.isProvided()) { writer.die("UiField %s for FlowPanel cannot set tag when it is also provided.", fieldName); } writer.setFieldInitializerAsConstructor(fieldName, customTag); } }
public void parse(XMLElement elem, String fieldName, JClassType type, final UiBinderWriter writer) throws UnableToCompleteException { String customTag = elem.consumeStringAttribute("tag", null); if (null != customTag) { OwnerField uiField = writer.getOwnerClass().getUiField(fieldName); if (uiField != null && uiField.isProvided()) { writer.die("UiField %s for FlowPanel cannot set tag when it is also provided.", fieldName); } writer.setFieldInitializerAsConstructor(fieldName, customTag); } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { if (writer.getOwnerClass().getUiField(fieldName).isProvided()) { return; } if (!writer.useLazyWidgetBuilders()) { writer.die("LazyPanel only works with UiBinder.useLazyWidgetBuilders enabled."); } XMLElement child = elem.consumeSingleChildElement(); if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); String lazyPanelClassPath = LazyPanel.class.getName(); String widgetClassPath = Widget.class.getName(); String code = String.format(INITIALIZER_FORMAT, lazyPanelClassPath, widgetClassPath, childField.getNextReference()); writer.setFieldInitializer(fieldName, code); } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { if (writer.getOwnerClass().getUiField(fieldName).isProvided()) { return; } if (!writer.useLazyWidgetBuilders()) { writer.die("LazyPanel only works with UiBinder.useLazyWidgetBuilders enabled."); } XMLElement child = elem.consumeSingleChildElement(); if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); String lazyPanelClassPath = LazyPanel.class.getName(); String widgetClassPath = Widget.class.getName(); String code = String.format(INITIALIZER_FORMAT, lazyPanelClassPath, widgetClassPath, childField.getNextReference()); writer.setFieldInitializer(fieldName, code); } }
private void createResourceUiFactory(XMLElement elem, String resourceName, JClassType resourceType) throws UnableToCompleteException { FieldWriter fieldWriter; JMethod factoryMethod = writer.getOwnerClass().getUiFactoryMethod(resourceType); JClassType methodReturnType = factoryMethod.getReturnType().getErasedType() .isClassOrInterface(); if (!resourceType.getErasedType().equals(methodReturnType)) { writer.die(elem, "Type must match %s.", methodReturnType); } String initializer; if (writer.getDesignTime().isDesignTime()) { String typeName = factoryMethod.getReturnType().getQualifiedSourceName(); initializer = writer.getDesignTime().getProvidedFactory(typeName, factoryMethod.getName(), ""); } else { initializer = String.format("owner.%s()", factoryMethod.getName()); } fieldWriter = fieldManager.registerField( FieldWriterType.IMPORTED, resourceType, resourceName); fieldWriter.setInitializer(initializer); }
/** * 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); } } }
private void createResourceUiFactory(XMLElement elem, String resourceName, JClassType resourceType) throws UnableToCompleteException { FieldWriter fieldWriter; JMethod factoryMethod = writer.getOwnerClass().getUiFactoryMethod(resourceType); JClassType methodReturnType = factoryMethod.getReturnType().getErasedType() .isClassOrInterface(); if (!resourceType.getErasedType().equals(methodReturnType)) { writer.die(elem, "Type must match %s.", methodReturnType); } String initializer; if (writer.getDesignTime().isDesignTime()) { String typeName = factoryMethod.getReturnType().getQualifiedSourceName(); initializer = writer.getDesignTime().getProvidedFactory(typeName, factoryMethod.getName(), ""); } else { initializer = String.format("owner.%s()", factoryMethod.getName()); } fieldWriter = fieldManager.registerField( FieldWriterType.IMPORTED, resourceType, resourceName); fieldWriter.setInitializer(initializer); }
/** * 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 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 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 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 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 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); }