1 19 20 package org.netbeans.modules.javacore.jmiimpl.javamodel; 21 22 import org.netbeans.jmi.javamodel.Parameter; 23 import org.netbeans.jmi.javamodel.ParameterClass; 24 import org.netbeans.jmi.javamodel.TypeReference; 25 import org.netbeans.mdr.storagemodel.StorableClass; 26 import org.netbeans.modules.javacore.parser.TypeRef; 27 28 public abstract class ParameterClassImpl extends SemiPersistentClass implements ParameterClass { 29 30 protected ParameterClassImpl(StorableClass s) { 31 super(s); 32 } 33 34 public Parameter createParameter() { 35 return create(null, null, false, null, 0, false); 36 } 37 38 public Parameter createParameter(java.lang.String name, java.util.List annotations, boolean isFinal, TypeReference typeName, int dimCount, boolean isVarArg) { 39 return create(name, annotations, isFinal, typeName, dimCount, isVarArg); 40 } 41 42 private Parameter create(java.lang.String name, java.util.List annotations, boolean isFinal, TypeReference typeName, int dimCount, boolean isVarArg) { 43 ParameterImpl result = create(name, isFinal, isVarArg, null, false); 44 result.setNew(); 45 result.setData(annotations, typeName, dimCount); 46 return result; 47 } 48 49 protected abstract Parameter super_createParameter(java.lang.String name, java.util.List annotations, boolean isFinal, TypeReference typeName, int dimCount, boolean isVarArg); 50 51 public ParameterImpl create(String name, boolean isFinal, boolean isVarArg, TypeRef type, boolean isTransient) { 52 ParameterImpl result; 53 if (isTransient) { 54 result = (ParameterImpl) createTransient(); 55 boolean changes = result.disableChanges; 56 result.disableChanges = true; 57 try { 58 result.setName(name); 59 result.setFinal(isFinal); 60 result.setVarArg(isVarArg); 61 } finally { 62 result.disableChanges = changes; 63 } 64 } else { 65 result = (ParameterImpl) super_createParameter(name, null, isFinal, null, 0, isVarArg); 66 } 67 result.setTypeRef(type); 68 return result; 69 } 70 } 71 | Popular Tags |