blob: ff2420c6af2cd06652c752f83daed59b954fb209 [file] [log] [blame]
/**
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package generators;
import java.util.List;
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
public class AbstractGenerator {
private static final String TAB="\t";
protected String removeLastChar(String s) {
return s.substring(0, s.length()-1);
}
protected String addLines(String s, String...lines){
for (String line : lines) {
s=((s==null||s.equals(""))?"":s+"\n")+line;
}
return s;
}
protected String convertToJavaTitleCaseStringConvention(String s){
String result="";
String[] split = s.split("_");
for (String item : split) {
result+=(item.toUpperCase().substring(0,1)+(item.length()>1?item.toLowerCase().substring(1):""));
}
return result;
}
protected String convertToJavaVariableNameCaseStringConvention(String s){
String result=null;
String[] split = s.split("_");
for (String item : split) {
result=(result==null?item.toLowerCase():result+(item.toUpperCase().substring(0,1)+(item.length()>1?item.toLowerCase().substring(1):"")));
}
return result;
}
protected String convertToJavaConstantNameCaseStringConvention(String s){
String result="";
for (int i = 0; i < s.length(); i++) {
String c=String.valueOf(s.charAt(i));
result+=((c.toUpperCase().equals(c) && !result.equals(""))?"_"+c:c.toUpperCase());
}
return result;
}
protected String convertToTitleCaseString(String s){
String result="";
for (int i = 0; i < s.length(); i++) {
String c=String.valueOf(s.charAt(i));
result+=((c.toUpperCase().equals(c) && !result.equals(""))?" ":"")+c;
}
return result;
}
protected String tabs(int n){
String result="";
for (int i = 0; i < n; i++) {
result+=TAB;
}
return result;
}
protected String commaSeperatedString(List<String> list, String delimiter){
String result=null;
for (String s : list) {
result=(result==null?s:result+delimiter+s);
}
return result;
}
protected String createFieldVarString(String dataType, String fieldName){
return "private " + dataType + " " + fieldName + ";";
}
protected String createSetterString(int indents,String fieldName,
String dataType, String fieldTitleString) {
String setterString=null;
setterString=addLines(setterString, tabs(indents));
setterString=addLines(setterString,tabs(indents)+"public void set"+fieldTitleString+"("+dataType+" "+fieldName+") {");
setterString=addLines(setterString,tabs(indents+1)+"this."+fieldName+"="+fieldName+";");
setterString=addLines(setterString,tabs(indents)+"}");
return setterString;
}
protected String createGetterString(int indents, String fieldName,
String dataType, String fieldTitleString) {
String getterString=null;
getterString=addLines(getterString, tabs(indents));
getterString=addLines(getterString,tabs(indents)+"public "+dataType+" get"+fieldTitleString+"() {");
getterString=addLines(getterString,tabs(indents+1)+"return "+fieldName+";");
getterString=addLines(getterString,tabs(indents)+"}");
return getterString;
}
protected String createVarNameFromClassName(String s){
return s.substring(0,1).toLowerCase()+s.substring(1);
}
}