001 package railo.runtime.component; 002 003 import railo.commons.lang.StringUtil; 004 005 public class ImportDefintion { 006 007 private String pack; 008 private String name; 009 private boolean wildcard; 010 private String packAsPath; 011 012 public ImportDefintion(String pack, String name) { 013 this.pack=pack; 014 this.name=name; 015 this.wildcard=name.equals("*"); 016 017 } 018 019 public static ImportDefintion getInstance(String fullname,ImportDefintion defaultValue) { 020 int index=fullname.lastIndexOf('.'); 021 if(index==-1) return defaultValue; 022 String p=fullname.substring(0,index).trim(); 023 String n=fullname.substring(index+1,fullname.length()).trim(); 024 if(StringUtil.isEmpty(p) || StringUtil.isEmpty(n)) 025 return defaultValue; 026 027 return new ImportDefintion(p,n); 028 } 029 030 /** 031 * @return the wildcard 032 */ 033 public boolean isWildcard() { 034 return wildcard; 035 } 036 037 /** 038 * @return the pack 039 */ 040 public String getPackage() { 041 return pack; 042 } 043 044 /** 045 * @return the name 046 */ 047 public String getName() { 048 return name; 049 } 050 051 public String getPackageAsPath() { 052 if(packAsPath==null) { 053 packAsPath=pack.replace('.','/')+"/"; 054 } 055 return packAsPath; 056 } 057 058 public String toString(){ 059 return pack+"."+name; 060 } 061 062 }