public TemplateVariableDefinition addCollectionVariable( String collectionLabel, Class<?> collectionClazz, String collectionName, String itemLabel, Class<?> itemClazz, String itemName, String itemAccessor) { if (isRestrictedVariable(collectionName)) { return null; } TemplateVariableDefinition itemTemplateVariableDefinition = new TemplateVariableDefinition( itemLabel, itemClazz, itemName, itemAccessor); TemplateVariableDefinition collectionTemplateVariableDefinition = new TemplateVariableDefinition( collectionLabel, collectionClazz, collectionName, itemTemplateVariableDefinition); _templateVariableDefinitions.add(collectionTemplateVariableDefinition); return collectionTemplateVariableDefinition; }
protected void prepareTemplate( Template template, TemplateVariableDefinition templateVariableDefinition, String language) { template.put("dataType", templateVariableDefinition.getDataType()); template.put("help", templateVariableDefinition.getHelp()); template.put("label", templateVariableDefinition.getLabel()); template.put("language", language); template.put("name", templateVariableDefinition.getName()); template.put("repeatable", templateVariableDefinition.isRepeatable()); }
@Override public String getAutocompleteJSON( HttpServletRequest request, String language) throws Exception { JSONObject jsonObject = _jsonFactory.createJSONObject(); JSONObject typesJSONObject = _jsonFactory.createJSONObject(); JSONObject variablesJSONObject = _jsonFactory.createJSONObject(); for (TemplateVariableDefinition templateVariableDefinition : getAutocompleteTemplateVariableDefinitions(request, language)) { Class<?> clazz = templateVariableDefinition.getClazz(); if (clazz == null) { variablesJSONObject.put( templateVariableDefinition.getName(), StringPool.BLANK); } else { if (!typesJSONObject.has(clazz.getName())) { typesJSONObject.put( clazz.getName(), getAutocompleteClassJSONObject(clazz)); } variablesJSONObject.put( templateVariableDefinition.getName(), getAutocompleteVariableJSONObject(clazz)); } } jsonObject.put("types", typesJSONObject); jsonObject.put("variables", variablesJSONObject); return jsonObject.toString(); }
@Override public String[] generate( TemplateVariableDefinition templateVariableDefinition, String language) throws Exception { String templateId = getTemplateId( templateVariableDefinition.getDataType()); Template template = getTemplate(templateId); String content = getTemplateContent( template, templateVariableDefinition, language); if (templateVariableDefinition.isRepeatable()) { content = handleRepeatableField( templateVariableDefinition, language, content); } return new String[] {content}; }
public TemplateVariableDefinition addVariable( String label, Class<?> clazz, String name, String accessor) { if (isRestrictedVariable(name)) { return null; } TemplateVariableDefinition templateVariableDefinition = new TemplateVariableDefinition(label, clazz, name, accessor); _templateVariableDefinitions.add(templateVariableDefinition); return templateVariableDefinition; }
public TemplateVariableDefinition addFieldVariable( String label, Class<?> clazz, String variableName, String help, String dataType, boolean repeatable, TemplateVariableCodeHandler templateVariableCodeHandler) { if (isRestrictedVariable(variableName)) { return null; } TemplateVariableDefinition templateVariableDefinition = new TemplateVariableDefinition( label, clazz, dataType, variableName, null, help, repeatable, templateVariableCodeHandler); _templateVariableDefinitions.add(templateVariableDefinition); return templateVariableDefinition; }
public void addServiceLocatorVariables(Class<?>... serviceClasses) { if (isRestrictedVariable("serviceLocator")) { return; } for (Class<?> serviceClass : serviceClasses) { String label = TextFormatter.format( serviceClass.getSimpleName(), TextFormatter.I); label = TextFormatter.format(label, TextFormatter.K); TemplateVariableDefinition templateVariableDefinition = new TemplateVariableDefinition( label, serviceClass, "service-locator", serviceClass.getCanonicalName(), null, label + "-help", false, null); _templateVariableDefinitions.add(templateVariableDefinition); } }
new TemplateVariableDefinition( key, value.getClass(), key, (String)null);