1 24 package org.riotfamily.common.web.dwr; 25 26 import java.lang.reflect.Field ; 27 import java.lang.reflect.Modifier ; 28 29 import org.directwebremoting.extend.Creator; 30 import org.directwebremoting.impl.DefaultRemoter; 31 32 public class ConstantsRemoter extends DefaultRemoter { 33 34 35 public String generateInterfaceScript(String scriptName, String path) 36 throws SecurityException { 37 38 StringBuffer buffer = new StringBuffer (); 39 Creator creator = creatorManager.getCreator(scriptName); 40 Field [] fields = creator.getType().getFields(); 41 for (int i = 0; i < fields.length; i++) { 42 int mod = fields[i].getModifiers(); 43 String name = fields[i].getName(); 44 if (Modifier.isPublic(mod) && Modifier.isStatic(mod) 45 && Modifier.isFinal(mod) 46 && name.equals(name.toUpperCase())) { 47 48 try { 49 Object value = fields[i].get(null); 51 buffer.append(scriptName).append('.').append(name) 52 .append(" = ").append(value).append(";\n"); 53 } 54 catch (IllegalAccessException e) { 55 } 56 } 57 } 58 59 buffer.append(super.generateInterfaceScript(scriptName, path)); 60 61 return buffer.toString(); 62 } 63 64 } 65 | Popular Tags |