Java源码示例:org.mybatis.generator.api.dom.java.Parameter
示例1
public MethodParts getPrimaryKeyWhereClauseAndParameters() {
MethodParts.Builder builder = new MethodParts.Builder();
boolean first = true;
for (IntrospectedColumn column : introspectedTable.getPrimaryKeyColumns()) {
String fieldName = AbstractMethodGenerator.calculateFieldName(tableFieldName, column);
builder.withImport(column.getFullyQualifiedJavaType());
builder.withParameter(new Parameter(
column.getFullyQualifiedJavaType(), column.getJavaProperty() + "_"));
if (first) {
builder.withBodyLine(" .where(" + fieldName
+ ", isEqualTo(" + column.getJavaProperty()
+ "_))");
first = false;
} else {
builder.withBodyLine(" .and(" + fieldName
+ ", isEqualTo(" + column.getJavaProperty()
+ "_))");
}
}
return builder.build();
}
示例2
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
Method method = new Method();
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setVisibility(JavaVisibility.PUBLIC);
method.setName(introspectedTable.getInsertSelectiveStatementId());
FullyQualifiedJavaType parameterType = introspectedTable.getRules()
.calculateAllFieldsClass();
importedTypes.add(parameterType);
method.addParameter(new Parameter(parameterType, "record")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins().clientInsertSelectiveMethodGenerated(
method, interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例3
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
FullyQualifiedJavaType parameterType = new FullyQualifiedJavaType(
introspectedTable.getBaseRecordType());
importedTypes.add(parameterType);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName(introspectedTable.getUpdateByPrimaryKeyStatementId());
method.addParameter(new Parameter(parameterType, "record")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins()
.clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(method,
interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例4
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<>();
FullyQualifiedJavaType type = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
importedTypes.add(type);
Method method = new Method(introspectedTable.getDeleteByExampleStatementId());
method.setVisibility(JavaVisibility.PUBLIC);
method.setAbstract(true);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.addParameter(new Parameter(type, "example"));
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(method);
if (context.getPlugins().clientDeleteByExampleMethodGenerated(
method, interfaze, introspectedTable)) {
addExtraImports(interfaze);
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例5
/**
* Rename the method types.
*
* @param method
* the method
* @return true
*/
boolean renameMethod(Method method) {
method.setReturnType(modelProperties.renameType(method.getReturnType()));
for (int i = 0; i < method.getParameters().size(); i++) {
Parameter parameter = method.getParameters().get(i);
FullyQualifiedJavaType parameterType = parameter.getType();
FullyQualifiedJavaType newParameterType = modelProperties.renameType(parameterType);
if (parameterType != newParameterType) {
Parameter newParam = new Parameter(newParameterType, parameter.getName(), parameter.isVarargs());
for (String annotation : parameter.getAnnotations()) {
newParam.addAnnotation(annotation);
}
method.getParameters().set(i, newParam);
log.debug("set new parameter: [{}][{}]", parameter, newParam);
}
}
modelProperties.renameAnnotations(method.getAnnotations());
mapperProperties.renameAnnotations(method.getAnnotations());
return true;
}
示例6
public static List<Method> generator(FullyQualifiedJavaType beanType,String beanName,
String mapperFieldName,FullyQualifiedJavaType keyType){
List<Method> methodList = new ArrayList<Method>();
// add get by key method
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(beanType);
method.setName("get" + beanName + "ByKey"); //$NON-NLS-1$
method.addParameter(new Parameter(keyType, "key")); //$NON-NLS-1$
method.addException(new FullyQualifiedJavaType(Exception.class.getName()));
method.addBodyLine("return this."+ mapperFieldName +".selectByPrimaryKey(key);");
methodList.add(method);
// add new method here
return methodList;
}
示例7
@Override
public void addInterfaceElements(Interface interfaze) {
FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<>();
importedTypes.add(fqjt);
Method method = new Method(introspectedTable.getCountByExampleStatementId());
method.setVisibility(JavaVisibility.PUBLIC);
method.setAbstract(true);
method.setReturnType(new FullyQualifiedJavaType("long"));
method.addParameter(new Parameter(fqjt, "example"));
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(method);
if (context.getPlugins().clientCountByExampleMethodGenerated(method,
interfaze, introspectedTable)) {
addExtraImports(interfaze);
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例8
private void addParameterizedConstructor(TopLevelClass topLevelClass) {
Method method = new Method(topLevelClass.getType().getShortName());
method.setVisibility(JavaVisibility.PUBLIC);
method.setConstructor(true);
context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable);
StringBuilder sb = new StringBuilder();
for (IntrospectedColumn introspectedColumn : introspectedTable
.getPrimaryKeyColumns()) {
method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(),
introspectedColumn.getJavaProperty()));
sb.setLength(0);
sb.append("this.");
sb.append(introspectedColumn.getJavaProperty());
sb.append(" = ");
sb.append(introspectedColumn.getJavaProperty());
sb.append(';');
method.addBodyLine(sb.toString());
}
topLevelClass.addMethod(method);
}
示例9
private void addNewComposedFunction(Interface interfaze, IntrospectedTable introspectedTable,
Optional<FullyQualifiedJavaType> baseMethodReturnType) {
if (!baseMethodReturnType.isPresent()) {
// shouldn't happen, but just in case...
return;
}
interfaze.addImportedType(new FullyQualifiedJavaType("java.util.function.Function"));
FullyQualifiedJavaType returnType =
new FullyQualifiedJavaType("Function<SelectStatementProvider, "
+ baseMethodReturnType.get().getShortName() + ">");
Method method = new Method("selectManyWithRowbounds");
method.setDefault(true);
method.setReturnType(returnType);
method.addParameter(new Parameter(rowBounds, "rowBounds"));
method.addBodyLine(
"return selectStatement -> selectManyWithRowbounds(selectStatement, rowBounds);");
context.getCommentGenerator().addGeneralMethodAnnotation(
method, introspectedTable, interfaze.getImportedTypes());
interfaze.addMethod(method);
}
示例10
public final Method getConstructorClone(CommentGenerator commentGenerator,
FullyQualifiedJavaType type, IntrospectedTable introspectedTable) {
configure();
Method answer = new Method();
answer.setConstructor(true);
answer.setName(type.getShortName());
answer.setVisibility(constructorTemplate.getVisibility());
for (Parameter parm : constructorTemplate.getParameters()) {
answer.addParameter(parm);
}
for (String bodyLine : constructorTemplate.getBodyLines()) {
answer.addBodyLine(bodyLine);
}
for (FullyQualifiedJavaType fqjt : constructorTemplate.getExceptions()) {
answer.addException(fqjt);
}
commentGenerator.addGeneralMethodComment(answer, introspectedTable);
return answer;
}
示例11
private Method toMethod(IntrospectedColumn introspectedColumn) {
StringBuilder sb = new StringBuilder();
sb.append(introspectedColumn.getJavaProperty());
sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
sb.insert(0, "and");
sb.append("LikeInsensitive");
Method method = new Method(sb.toString());
method.setVisibility(JavaVisibility.PUBLIC);
method.addParameter(new Parameter(introspectedColumn
.getFullyQualifiedJavaType(), "value"));
method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance());
sb.setLength(0);
sb.append("addCriterion(\"upper(");
sb.append(MyBatis3FormattingUtilities
.getAliasedActualColumnName(introspectedColumn));
sb.append(") like\", value.toUpperCase(), \"");
sb.append(introspectedColumn.getJavaProperty());
sb.append("\");");
method.addBodyLine(sb.toString());
method.addBodyLine("return (Criteria) this;");
return method;
}
示例12
public static List<Method> generator(FullyQualifiedJavaType beanType,String beanName,
String mapperFieldName,FullyQualifiedJavaType paramType){
List<Method> methodList = new ArrayList<Method>();
// add get by key method
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName("count" + beanName + "List"); //$NON-NLS-1$
method.addParameter(new Parameter(paramType, "param")); //$NON-NLS-1$
method.addException(new FullyQualifiedJavaType(Exception.class.getName()));
method.addBodyLine("return this."+ mapperFieldName +".countByExample(param);");
methodList.add(method);
// add new method here
return methodList;
}
示例13
/**
* insertSelective 方法生成
* 具体执行顺序 http://www.mybatis.org/generator/reference/pluggingIn.html
* @param method
* @param interfaze
* @param introspectedTable
* @return
*/
@Override
public boolean clientInsertSelectiveMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable) {
method.getParameters().clear();
FullyQualifiedJavaType parameterType = introspectedTable.getRules().calculateAllFieldsClass();
method.addParameter(new Parameter(parameterType, "record", "@Param(\"record\")"));
// 找出全字段对应的Model
FullyQualifiedJavaType fullFieldModel = introspectedTable.getRules().calculateAllFieldsClass();
// column枚举
FullyQualifiedJavaType selectiveType = new FullyQualifiedJavaType(fullFieldModel.getShortName() + "." + ModelColumnPlugin.ENUM_NAME);
method.addParameter(new Parameter(selectiveType, "selective", "@Param(\"selective\")", true));
FormatTools.replaceGeneralMethodComment(commentGenerator, method, introspectedTable);
return super.clientInsertSelectiveMethodGenerated(method, interfaze, introspectedTable);
}
示例14
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
FullyQualifiedJavaType type = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
importedTypes.add(type);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName(introspectedTable.getDeleteByExampleStatementId());
method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins().clientDeleteByExampleMethodGenerated(
method, interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例15
private void addParameterizedConstructor(TopLevelClass topLevelClass) {
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setConstructor(true);
method.setName(topLevelClass.getType().getShortName());
context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable);
StringBuilder sb = new StringBuilder();
for (IntrospectedColumn introspectedColumn : introspectedTable
.getPrimaryKeyColumns()) {
method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(),
introspectedColumn.getJavaProperty()));
sb.setLength(0);
sb.append("this."); //$NON-NLS-1$
sb.append(introspectedColumn.getJavaProperty());
sb.append(" = "); //$NON-NLS-1$
sb.append(introspectedColumn.getJavaProperty());
sb.append(';');
method.addBodyLine(sb.toString());
}
topLevelClass.addMethod(method);
}
示例16
@Test
public void shouldIgnoreMethodParametersOfDifferentType() throws Exception {
FullyQualifiedJavaType type = new FullyQualifiedJavaType("type");
Parameter parameter = new Parameter(type, "name", "annotation");
List<Parameter> parameters = new ArrayList<>();
parameters.add(parameter);
// Given
given(method.getParameters()).willReturn(parameters);
given(modelProperties.renameType(eq(type))).willReturn(type);
// When
boolean ok = plugin.renameMethod(method);
// Then
assertThat(ok).isTrue();
assertThat(parameters).hasSize(1);
Parameter newParameter = parameters.get(0);
assertThat(newParameter).isSameAs(parameter);
}
示例17
@Override
public void addInterfaceElements(Interface interfaze) {
FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
importedTypes.add(fqjt);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName(introspectedTable.getCountByExampleStatementId());
method.addParameter(new Parameter(fqjt, "example")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins().clientCountByExampleMethodGenerated(method,
interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例18
private Method getMethodShell(Set<FullyQualifiedJavaType> importedTypes) {
FullyQualifiedJavaType type = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
importedTypes.add(type);
Method method = new Method();
method.setVisibility(getExampleMethodVisibility());
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName(getDAOMethodNameCalculator()
.getDeleteByExampleMethodName(introspectedTable));
method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$
for (FullyQualifiedJavaType fqjt : daoTemplate.getCheckedExceptions()) {
method.addException(fqjt);
importedTypes.add(fqjt);
}
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
return method;
}
示例19
private Method getMethodShell(Set<FullyQualifiedJavaType> importedTypes) {
FullyQualifiedJavaType parameterType = new FullyQualifiedJavaType(
introspectedTable.getBaseRecordType());
importedTypes.add(parameterType);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method
.setName(getDAOMethodNameCalculator()
.getUpdateByPrimaryKeyWithoutBLOBsMethodName(
introspectedTable));
method.addParameter(new Parameter(parameterType, "record")); //$NON-NLS-1$
for (FullyQualifiedJavaType fqjt : daoTemplate.getCheckedExceptions()) {
method.addException(fqjt);
importedTypes.add(fqjt);
}
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
return method;
}
示例20
/**
* Gets the constructor clone.
*
* @param commentGenerator
* the comment generator
* @param type
* the type
* @param introspectedTable
* the introspected table
* @return the constructor clone
*/
public final Method getConstructorClone(CommentGenerator commentGenerator,
FullyQualifiedJavaType type, IntrospectedTable introspectedTable) {
configure();
Method answer = new Method();
answer.setConstructor(true);
answer.setName(type.getShortName());
answer.setVisibility(constructorTemplate.getVisibility());
for (Parameter parm : constructorTemplate.getParameters()) {
answer.addParameter(parm);
}
for (String bodyLine : constructorTemplate.getBodyLines()) {
answer.addBodyLine(bodyLine);
}
for (FullyQualifiedJavaType fqjt : constructorTemplate.getExceptions()) {
answer.addException(fqjt);
}
commentGenerator.addGeneralMethodComment(answer, introspectedTable);
return answer;
}
示例21
boolean renameMethod(Method method) {
String oldMethodName = method.getName();
Matcher matcher = classMethodPattern.matcher(oldMethodName);
String newMethodName = matcher.replaceAll(classMethodReplaceString);
method.setName(newMethodName);
for (int i = 0; i < method.getParameters().size(); i++) {
Parameter parameter = method.getParameters().get(i);
String oldParamName = parameter.getName();
matcher = parameterPattern.matcher(oldParamName);
if (matcher.lookingAt()) {
String newName = matcher.replaceAll(parameterReplaceString);
Parameter newParam = new Parameter(parameter.getType(), newName, parameter.isVarargs());
for (String annotation : parameter.getAnnotations()) {
newParam.addAnnotation(annotation);
}
method.getParameters().set(i, newParam);
}
}
return true;
}
示例22
@Test
public void shouldReplaceSetterToCallWrappedProperty() throws Exception {
Parameter parameter = new Parameter(FullyQualifiedJavaType.getStringInstance(), "name");
List<Parameter> parameters = new ArrayList<>();
parameters.add(parameter);
// Given
given(introspectedTable.getFullyQualifiedTableNameAtRuntime()).willReturn(TABLE_NAME);
given(method.getName()).willReturn("setName");
given(method.getParameters()).willReturn(parameters);
plugin.getSettersToWrap().add("setName");
// When
boolean ok = plugin.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, null);
// Then
assertThat(ok).isTrue();
assertThat(methodLines).hasSize(1);
verify(method).getBodyLines();
verify(method).addBodyLine(anyString());
}
示例23
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
FullyQualifiedJavaType type = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
importedTypes.add(type);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName(introspectedTable.getDeleteByExampleStatementId());
method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins().clientDeleteByExampleMethodGenerated(
method, interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例24
@Test
public void shouldRenameMethodParameters() throws Exception {
FullyQualifiedJavaType type = new FullyQualifiedJavaType("type");
Parameter parameter = new Parameter(type, PARAM_SEARCH, "annotation");
List<Parameter> parameters = new ArrayList<>();
parameters.add(parameter);
// Given
given(method.getName()).willReturn(String.format("Some%1$sWith%1$sInName", CLASS_SEARCH));
given(method.getParameters()).willReturn(parameters);
// When
boolean ok = plugin.renameMethod(method);
// Then
assertThat(ok).isTrue();
assertThat(parameters).hasSize(1);
Parameter newParameter = parameters.get(0);
assertThat(newParameter).isNotSameAs(parameter);
assertThat(newParameter.getType()).isEqualTo(type);
assertThat(newParameter.getName()).isEqualTo(PARAM_REPLACE);
assertThat(newParameter.getAnnotations()).containsExactlyElementsOf(parameter.getAnnotations());
}
示例25
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
Method method = new Method();
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setVisibility(JavaVisibility.PUBLIC);
method.setName(introspectedTable.getInsertSelectiveStatementId());
FullyQualifiedJavaType parameterType = introspectedTable.getRules()
.calculateAllFieldsClass();
importedTypes.add(parameterType);
method.addParameter(new Parameter(parameterType, "record")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins().clientInsertSelectiveMethodGenerated(
method, interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例26
private Method getMethodShell(Set<FullyQualifiedJavaType> importedTypes) {
FullyQualifiedJavaType parameterType = new FullyQualifiedJavaType(
introspectedTable.getBaseRecordType());
importedTypes.add(parameterType);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method
.setName(getDAOMethodNameCalculator()
.getUpdateByPrimaryKeyWithoutBLOBsMethodName(
introspectedTable));
method.addParameter(new Parameter(parameterType, "record")); //$NON-NLS-1$
for (FullyQualifiedJavaType fqjt : daoTemplate.getCheckedExceptions()) {
method.addException(fqjt);
importedTypes.add(fqjt);
}
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
return method;
}
示例27
@Override
public void addInterfaceElements(Interface interfaze) {
FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
importedTypes.add(fqjt);
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.setName(introspectedTable.getCountByExampleStatementId());
method.addParameter(new Parameter(fqjt, "example")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins().clientCountByExampleMethodGenerated(method,
interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
示例28
private void addParameterizedConstructor(TopLevelClass topLevelClass) {
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setConstructor(true);
method.setName(topLevelClass.getType().getShortName());
context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable);
StringBuilder sb = new StringBuilder();
for (IntrospectedColumn introspectedColumn : introspectedTable
.getPrimaryKeyColumns()) {
method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(),
introspectedColumn.getJavaProperty()));
sb.setLength(0);
sb.append("this."); //$NON-NLS-1$
sb.append(introspectedColumn.getJavaProperty());
sb.append(" = "); //$NON-NLS-1$
sb.append(introspectedColumn.getJavaProperty());
sb.append(';');
method.addBodyLine(sb.toString());
}
topLevelClass.addMethod(method);
}
示例29
@Test
public void shouldRenameMethodParameters() throws Exception {
FullyQualifiedJavaType type = new FullyQualifiedJavaType("type");
FullyQualifiedJavaType renamedType = new FullyQualifiedJavaType("renamedType");
Parameter parameter = new Parameter(type, "name", "annotation");
List<Parameter> parameters = new ArrayList<>();
parameters.add(parameter);
// Given
given(method.getParameters()).willReturn(parameters);
given(modelProperties.renameType(eq(type))).willReturn(renamedType);
// When
boolean ok = plugin.renameMethod(method);
// Then
assertThat(ok).isTrue();
assertThat(parameters).hasSize(1);
Parameter newParameter = parameters.get(0);
assertThat(newParameter).isNotSameAs(parameter);
assertThat(newParameter.getType()).isEqualTo(renamedType);
assertThat(newParameter.getName()).isEqualTo(parameter.getName());
assertThat(newParameter.getAnnotations()).containsExactlyElementsOf(parameter.getAnnotations());
}
示例30
public String render(Parameter parameter, CompilationUnit compilationUnit) {
return renderAnnotations(parameter)
+ JavaDomUtils.calculateTypeName(compilationUnit, parameter.getType())
+ " "
+ (parameter.isVarargs() ? "... " : "") //$NON-NLS-2$
+ parameter.getName();
}