001
014
015 package com.liferay.portal.kernel.template;
016
017 import com.liferay.portal.kernel.util.TextFormatter;
018 import com.liferay.portal.kernel.util.UniqueList;
019
020 import java.util.Collection;
021
022
025 public class TemplateVariableGroup {
026
027 public TemplateVariableGroup(String label) {
028 _label = label;
029 }
030
031 public TemplateVariableDefinition addCollectionVariable(
032 String collectionLabel, Class<?> collectionClazz, String collectionName,
033 String itemLabel, Class<?> itemClazz, String itemName) {
034
035 TemplateVariableDefinition itemTemplateVariableDefinition =
036 new TemplateVariableDefinition(itemLabel, itemClazz, itemName);
037
038 TemplateVariableDefinition collectionTemplateVariableDefinition =
039 new TemplateVariableDefinition(
040 collectionLabel, collectionClazz, collectionName,
041 itemTemplateVariableDefinition);
042
043 _templateVariableDefinitions.add(collectionTemplateVariableDefinition);
044
045 return collectionTemplateVariableDefinition;
046 }
047
048 public TemplateVariableDefinition addFieldVariable(
049 String label, Class<?> clazz, String variableName, String help,
050 String dataType, boolean repeatable) {
051
052 TemplateVariableDefinition templateVariableDefinition =
053 new TemplateVariableDefinition(
054 label, clazz, dataType, variableName, help, repeatable);
055
056 _templateVariableDefinitions.add(templateVariableDefinition);
057
058 return templateVariableDefinition;
059 }
060
061 public void addServiceLocatorVariables(Class<?>... serviceClasses) {
062 for (Class<?> serviceClass : serviceClasses) {
063 String label = TextFormatter.format(
064 serviceClass.getSimpleName(), TextFormatter.I);
065
066 label = TextFormatter.format(label, TextFormatter.K);
067
068 TemplateVariableDefinition templateVariableDefinition =
069 new TemplateVariableDefinition(
070 label, serviceClass, "service-locator",
071 serviceClass.getCanonicalName(), label + "-help", false);
072
073 _templateVariableDefinitions.add(templateVariableDefinition);
074 }
075 }
076
077 public TemplateVariableDefinition addVariable(
078 String label, Class<?> clazz, String variableName) {
079
080 TemplateVariableDefinition templateVariableDefinition =
081 new TemplateVariableDefinition(label, clazz, variableName);
082
083 _templateVariableDefinitions.add(templateVariableDefinition);
084
085 return templateVariableDefinition;
086 }
087
088 public void empty() {
089 _templateVariableDefinitions.clear();
090 }
091
092 public String getLabel() {
093 return _label;
094 }
095
096 public Collection<TemplateVariableDefinition>
097 getTemplateVariableDefinitions() {
098
099 return _templateVariableDefinitions;
100 }
101
102 public boolean isAutocompleteEnabled() {
103 return _autocompleteEnabled;
104 }
105
106 public void setAutocompleteEnabled(boolean autocompleteEnabled) {
107 _autocompleteEnabled = autocompleteEnabled;
108 }
109
110 private boolean _autocompleteEnabled;
111 private String _label;
112 private Collection<TemplateVariableDefinition>
113 _templateVariableDefinitions =
114 new UniqueList<TemplateVariableDefinition>();
115
116 }