1 19 20 package com.sslexplorer.core.stringreplacement; 21 22 import java.util.regex.Matcher ; 23 import java.util.regex.Pattern ; 24 25 import com.sslexplorer.extensions.ExtensionBundle; 26 27 public class ExtensionBundleReplacer extends AbstractReplacementVariableReplacer { 28 29 private ExtensionBundle bundle; 30 31 public ExtensionBundleReplacer(ExtensionBundle bundle) { 32 super(); 33 this.bundle = bundle; 34 } 35 36 public static String replace(ExtensionBundle bundle, String input) { 37 VariableReplacement r = new VariableReplacement(); 38 r.setExtensionBundle(bundle); 39 return r.replace(input); 40 } 41 42 public String processReplacementVariable(Pattern pattern, Matcher matcher, 43 String replacementPattern, String type, String key) 44 throws Exception { 45 if (type.equalsIgnoreCase("bundle")) { 46 if (bundle == null) { 47 return null; 48 } 49 if (key.equals("id")) { 50 return bundle.getId(); 51 } else if (key.equals("name")) { 52 return bundle.getName(); 53 } else if (key.equals("description")) { 54 return bundle.getDescription(); 55 } else if (key.equals("baseDir")) { 56 if (VariableReplacement.log.isDebugEnabled()) 57 VariableReplacement.log.debug("Replacing base dir with " 58 + bundle.getBaseDir().getCanonicalPath()); 59 return bundle.getBaseDir().getCanonicalPath(); 60 } else { 61 throw new Exception ("Unknown key " + key + " for type " + type 62 + "."); 63 } 64 } 65 return null; 66 } 67 } | Popular Tags |