private String expandDots(String value) { StringBuilder b = new StringBuilder(); String[] segments = value.split("[.]"); for (int i = 0; i < segments.length; ++i) { String segment = cssConverter.convertName(segments[i]); // The first segment is converted to a field getter. So, // "bundle.whatever" becomes "get_bundle().whatever". if (fieldManager != null && i == 0) { segment = fieldManager.convertFieldToGetter(segment); } if (b.length() == 0) { b.append(segment); // field name } else { b.append(".").append(segment).append("()"); } } return b.toString(); }
private String genOpenTag(XMLElement source, String name, String idHolder) { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(source, idHolder); } else { idHolder = "\" + " + idHolder + " + \""; } String openTag = String.format("<span id='%s'>", idHolder); String openPlaceholder = nextOpenPlaceholder(name + "Begin", openTag); return openPlaceholder; }
private String handleOpaqueWidgetPlaceholder(XMLElement source, String name, String idHolder) { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(source, idHolder); } else { idHolder = "\" + " + idHolder + " + \""; } String tag = String.format("<span id='%s'></span>", idHolder); String placeholder = nextPlaceholder(name, "<span></span>", tag); return placeholder; } }
private void genSetWidgetTextCall(String idHolder, String childField) { if (uiWriter.useLazyWidgetBuilders()) { if (idIsHasText.contains(idHolder)) { fieldManager.require(fieldName).addAttachStatement( "%s.setText(%s.getElementById(%s).getInnerText());", fieldManager.convertFieldToGetter(childField), fieldName, fieldManager.convertFieldToGetter(idHolder)); } else if (idIsHasHTML.contains(idHolder)) { fieldManager.require(fieldName).addAttachStatement( "%s.setHTML(%s.getElementById(%s).getInnerHTML());", fieldManager.convertFieldToGetter(childField), fieldName, fieldManager.convertFieldToGetter(idHolder)); } } else { if (idIsHasText.contains(idHolder)) { uiWriter.addInitStatement( "%s.setText(%s.getElementById(%s).getInnerText());", childField, fieldName, idHolder); } if (idIsHasHTML.contains(idHolder)) { uiWriter.addInitStatement( "%s.setHTML(%s.getElementById(%s).getInnerHTML());", childField, fieldName, idHolder); } } }
fieldManager.convertFieldToGetter(childFieldWriter.getName()), fieldManager.convertFieldToGetter(stamper)); fieldManager.convertFieldToGetter(childFieldWriter.getName())); fieldManager.convertFieldToGetter(fieldName), fieldManager.convertFieldToGetter(childFieldWriter.getName())); String elementHtml = fieldManager.convertFieldToGetter(childFieldWriter.getName()) + ".render(" + fieldManager.convertFieldToGetter(stamper) + ")"; return uiWriter.tokenForSafeHtmlExpression(elem, elementHtml);
lazyDomElementPath, elementPointer); elementWriter.setInitializer(String.format("new %s<Element>(%s)", lazyDomElementPath, fieldManager.convertFieldToGetter(idHolder))); fieldManager.convertFieldToGetter(elementPointer)); fieldWriter.addDetachStatement( "%s.addAndReplaceElement(%s, %s.get());", fieldName, fieldManager.convertFieldToGetter(childFieldWriter.getName()), fieldManager.convertFieldToGetter(elementPointer)); } else { uiWriter.addInitStatement(
FieldWriter elementWriter = fieldManager.registerField(lazyDomElementPath, elementPointer); elementWriter.setInitializer(String.format("new %s<Element>(%s)", lazyDomElementPath, fieldManager.convertFieldToGetter(idHolder))); fieldManager.convertFieldToGetter(elementPointer)); fieldWriter.addDetachStatement( "%s.addAndReplaceElement(%s, %s.get());", fieldName, fieldManager.convertFieldToGetter(childFieldWriter.getName()), fieldManager.convertFieldToGetter(elementPointer)); } else { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(elem, idHolder);
@Override public String getNextReference() { return manager.convertFieldToGetter(name); }
@Override public String getNextReference() { return manager.convertFieldToGetter(name); }
private String expandDots(String value) { StringBuilder b = new StringBuilder(); String[] segments = value.split("[.]"); for (int i = 0; i < segments.length; ++i) { String segment = cssConverter.convertName(segments[i]); // The first segment is converted to a field getter. So, // "bundle.whatever" becomes "get_bundle().whatever". if (fieldManager != null && i == 0) { segment = fieldManager.convertFieldToGetter(segment); } if (b.length() == 0) { b.append(segment); // field name } else { b.append(".").append(segment).append("()"); } } return b.toString(); }
private String expandDots(String value) { StringBuilder b = new StringBuilder(); String[] segments = value.split("[.]"); for (int i = 0; i < segments.length; ++i) { String segment = cssConverter.convertName(segments[i]); // The first segment is converted to a field getter. So, // "bundle.whatever" becomes "get_bundle().whatever". if (fieldManager != null && i == 0) { segment = fieldManager.convertFieldToGetter(segment); } if (b.length() == 0) { b.append(segment); // field name } else { b.append(".").append(segment).append("()"); } } return b.toString(); }
private String genOpenTag(XMLElement source, String name, String idHolder) { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(source, idHolder); } else { idHolder = "\" + " + idHolder + " + \""; } String openTag = String.format("<span id='%s'>", idHolder); String openPlaceholder = nextOpenPlaceholder(name + "Begin", openTag); return openPlaceholder; }
private String handleOpaqueWidgetPlaceholder(XMLElement source, String name, String idHolder) { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(source, idHolder); } else { idHolder = "\" + " + idHolder + " + \""; } String tag = String.format("<span id='%s'></span>", idHolder); String placeholder = nextPlaceholder(name, "<span></span>", tag); return placeholder; } }
private String handleOpaqueWidgetPlaceholder(XMLElement source, String name, String idHolder) { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(source, idHolder); } else { idHolder = "\" + " + idHolder + " + \""; } String tag = String.format("<span id='%s'></span>", idHolder); String placeholder = nextPlaceholder(name, "<span></span>", tag); return placeholder; } }
private String genOpenTag(XMLElement source, String name, String idHolder) { idHolder = fieldManager.convertFieldToGetter(idHolder); if (uiWriter.useSafeHtmlTemplates()) { idHolder = uiWriter.tokenForStringExpression(source, idHolder); } else { idHolder = "\" + " + idHolder + " + \""; } String openTag = String.format("<span id='%s'>", idHolder); String openPlaceholder = nextOpenPlaceholder(name + "Begin", openTag); return openPlaceholder; }
private void createStyle(XMLElement elem) throws UnableToCompleteException { String body = elem.consumeUnescapedInnerText(); String[] source = elem.consumeRawArrayAttribute(SOURCE_ATTRIBUTE); if (0 == body.length() && 0 == source.length) { writer.die(elem, "Must have either a src attribute or body text"); } String name = elem.consumeRawAttribute(FIELD_ATTRIBUTE, "style"); JClassType publicType = consumeCssResourceType(elem); String[] importTypeNames = elem.consumeRawArrayAttribute(IMPORT_ATTRIBUTE); LinkedHashSet<JClassType> importTypes = new LinkedHashSet<JClassType>(); for (String type : importTypeNames) { importTypes.add(findCssResourceType(elem, type)); } Boolean gss = elem.consumeBooleanConstantAttribute(GSS_ATTRIBUTE); ImplicitCssResource cssMethod = bundleClass.createCssResource(name, source, publicType, body, importTypes, gss, resourceOracle); FieldWriter field = fieldManager.registerFieldForGeneratedCssResource(cssMethod); field.setInitializer(String.format("%s.%s()", fieldManager.convertFieldToGetter(bundleClass.getFieldName()), cssMethod.getName())); }
private void createStyle(XMLElement elem) throws UnableToCompleteException { String body = elem.consumeUnescapedInnerText(); String[] source = elem.consumeRawArrayAttribute(SOURCE_ATTRIBUTE); if (0 == body.length() && 0 == source.length) { writer.die(elem, "Must have either a src attribute or body text"); } String name = elem.consumeRawAttribute(FIELD_ATTRIBUTE, "style"); JClassType publicType = consumeCssResourceType(elem); String[] importTypeNames = elem.consumeRawArrayAttribute(IMPORT_ATTRIBUTE); LinkedHashSet<JClassType> importTypes = new LinkedHashSet<JClassType>(); for (String type : importTypeNames) { importTypes.add(findCssResourceType(elem, type)); } Boolean gss = elem.consumeBooleanConstantAttribute(GSS_ATTRIBUTE); ImplicitCssResource cssMethod = bundleClass.createCssResource(name, source, publicType, body, importTypes, gss, resourceOracle); FieldWriter field = fieldManager.registerFieldForGeneratedCssResource(cssMethod); field.setInitializer(String.format("%s.%s()", fieldManager.convertFieldToGetter(bundleClass.getFieldName()), cssMethod.getName())); }
/** * Interprets <ui:data> elements. */ private void createData(XMLElement elem) throws UnableToCompleteException { String name = elem.consumeRequiredRawAttribute(FIELD_ATTRIBUTE); String source = elem.consumeRequiredRawAttribute(SOURCE_ATTRIBUTE); // doNotEmbed is optional on DataResource Boolean doNotEmbed = elem.consumeBooleanConstantAttribute(DO_NOT_EMBED_ATTRIBUTE); // mimeType is optional on DataResource String mimeType = elem.consumeRawAttribute(MIME_TYPE_ATTRIBUTE); ImplicitDataResource dataMethod = bundleClass.createDataResource( name, source, mimeType, doNotEmbed); FieldWriter field = fieldManager.registerField(dataResourceType, dataMethod.getName()); field.setInitializer(String.format("%s.%s()", fieldManager.convertFieldToGetter(bundleClass.getFieldName()), dataMethod.getName())); }
/** * Interprets <ui:data> elements. */ private void createData(XMLElement elem) throws UnableToCompleteException { String name = elem.consumeRequiredRawAttribute(FIELD_ATTRIBUTE); String source = elem.consumeRequiredRawAttribute(SOURCE_ATTRIBUTE); // doNotEmbed is optional on DataResource Boolean doNotEmbed = elem.consumeBooleanConstantAttribute(DO_NOT_EMBED_ATTRIBUTE); // mimeType is optional on DataResource String mimeType = elem.consumeRawAttribute(MIME_TYPE_ATTRIBUTE); ImplicitDataResource dataMethod = bundleClass.createDataResource( name, source, mimeType, doNotEmbed); FieldWriter field = fieldManager.registerField(dataResourceType, dataMethod.getName()); field.setInitializer(String.format("%s.%s()", fieldManager.convertFieldToGetter(bundleClass.getFieldName()), dataMethod.getName())); }
/** * Interprets <ui:image> elements. */ private void createImage(XMLElement elem) throws UnableToCompleteException { String name = elem.consumeRequiredRawAttribute(FIELD_ATTRIBUTE); // @source is optional on ImageResource String source = elem.consumeRawAttribute(SOURCE_ATTRIBUTE, null); Boolean flipRtl = elem.consumeBooleanConstantAttribute(FLIP_RTL_ATTRIBUTE); RepeatStyle repeatStyle = null; if (elem.hasAttribute(REPEAT_STYLE_ATTRIBUTE)) { String value = elem.consumeRawAttribute(REPEAT_STYLE_ATTRIBUTE); try { repeatStyle = RepeatStyle.valueOf(value); } catch (IllegalArgumentException e) { writer.die(elem, "Bad repeatStyle value %s", value); } } ImplicitImageResource imageMethod = bundleClass.createImageResource(name, source, flipRtl, repeatStyle); FieldWriter field = fieldManager.registerField(imageResourceType, imageMethod.getName()); field.setInitializer(String.format("%s.%s()", fieldManager.convertFieldToGetter(bundleClass.getFieldName()), imageMethod.getName())); }