001 package railo.runtime; 002 003 import java.io.Serializable; 004 import java.util.Map; 005 006 import railo.runtime.component.Property; 007 import railo.runtime.exp.ExpressionException; 008 import railo.runtime.type.Collection; 009 import railo.runtime.type.KeyImpl; 010 import railo.runtime.type.Struct; 011 012 013 public class ComponentProperties implements Serializable { 014 015 private static final Collection.Key WSDL_FILE = KeyImpl.intern("wsdlfile"); 016 final String dspName; 017 final String extend; 018 final String hint; 019 final Boolean output; 020 final String callPath; 021 final boolean realPath; 022 final boolean _synchronized; 023 Class javaAccessClass; 024 Map<String,Property> properties; 025 Struct meta; 026 String implement; 027 boolean persistent; 028 boolean accessors; 029 030 public ComponentProperties(String dspName,String extend,String implement,String hint, Boolean output, String callPath, 031 boolean realPath,boolean _synchronized,Class javaAccessClass,boolean persistent,boolean accessors,Struct meta) { 032 this.dspName=dspName; 033 this.extend=extend; 034 this.implement=implement; 035 this.hint=hint; 036 this.output=output; 037 this.callPath=callPath; 038 this.realPath=realPath; 039 this._synchronized=_synchronized; 040 this.javaAccessClass=javaAccessClass; 041 this.meta=meta; 042 this.persistent=persistent; 043 this.accessors=accessors; 044 } 045 046 public ComponentProperties duplicate() { 047 ComponentProperties cp= new ComponentProperties(dspName,extend,implement,hint,output,callPath,realPath,_synchronized,javaAccessClass,persistent,accessors,meta); 048 cp.properties=properties; 049 return cp; 050 } 051 052 053 /** 054 * returns null if there is no wsdlFile defined 055 * @return the wsdlFile 056 * @throws ExpressionException 057 */ 058 public String getWsdlFile() { 059 if(meta==null) return null; 060 return (String) meta.get(WSDL_FILE,null); 061 } 062 063 064 }