1 46 package org.codehaus.groovy.ast; 47 48 import groovy.lang.Reference; 49 50 import org.codehaus.groovy.ast.expr.*; 51 52 59 public class Parameter { 60 61 public static final Parameter[] EMPTY_ARRAY = { 62 }; 63 64 private String type; 65 private String name; 66 private boolean dynamicType; 67 private Expression defaultValue; 68 private String realType; 69 70 public Parameter(String name) { 71 this(null, name); 72 } 73 74 public Parameter(String type, String name) { 75 this(type, name, null); 76 } 77 78 public Parameter(String type, String name, Expression defaultValue) { 79 this.name = MethodNode.ensureJavaTypeNameSyntax(name); 80 this.type = type; 81 this.defaultValue = defaultValue; 82 if (type == null || type.length() == 0) { 83 this.type = "java.lang.Object"; 84 this.dynamicType = true; 85 } 86 } 87 88 public String toString() { 89 return super.toString() + "[name:" + name + ((type == null) ? "" : " type: " + type) + "]"; 90 } 91 92 public String getName() { 93 return name; 94 } 95 96 public String getType() { 97 return type; 98 } 99 100 public void setType(String type) { 101 this.type = type; 102 } 103 104 public boolean isDynamicType() { 105 return dynamicType; 106 } 107 108 112 public Expression getDefaultValue() { 113 return defaultValue; 114 } 115 116 public void makeReference() { 117 realType = type; 118 type = Reference.class.getName(); 119 } 120 121 125 public String getRealType() { 126 return realType; 127 } 128 129 } 130 | Popular Tags |