Package org.jboss.kernel.plugins.dependency

Source Code of org.jboss.kernel.plugins.dependency.DefaultMatcherFactory

/*     */ package org.jboss.kernel.plugins.dependency;
/*     */
/*     */ import java.util.HashMap;
/*     */ import java.util.Map;
/*     */ import org.jboss.kernel.api.dependency.Matcher;
/*     */ import org.jboss.kernel.api.dependency.MatcherFactory;
/*     */ import org.jboss.kernel.api.dependency.MatcherTransformer;
/*     */ import org.jboss.logging.Logger;
/*     */ import org.jboss.reflect.plugins.introspection.ReflectionUtils;
/*     */
/*     */ public class DefaultMatcherFactory extends MatcherFactory
/*     */   implements MatcherTransformer
/*     */ {
/*  41 */   protected Logger log = Logger.getLogger(getClass());
/*     */
/*  44 */   private Map<String, MatcherTransformer> transfomers = new HashMap();
/*     */
/*     */   public DefaultMatcherFactory()
/*     */   {
/*  48 */     addMatcherTransfomer("default", this);
/*  49 */     addMatcherTransfomer("regexp", new RegexpMatcherTransformer());
/*  50 */     addMatcherTransfomer("interval", new IntervalMatcherTransformer());
/*     */   }
/*     */
/*     */   public void addMatcherTransfomer(String key, MatcherTransformer transformer)
/*     */   {
/*  55 */     if ((key == null) && (transformer != null)) {
/*  56 */       this.transfomers.put(transformer.getClass().getName(), transformer);
/*     */     }
/*  58 */     if (key != null)
/*     */     {
/*  60 */       if (transformer == null)
/*  61 */         this.transfomers.remove(key);
/*     */       else
/*  63 */         this.transfomers.put(key, transformer);
/*     */     }
/*     */   }
/*     */
/*     */   public Matcher createMatcher(String transformer, Object value)
/*     */   {
/*  76 */     if ((value instanceof Matcher)) {
/*  77 */       return (Matcher)value;
/*     */     }
/*  79 */     if (transformer == null) {
/*  80 */       transformer = "default";
/*     */     }
/*  82 */     MatcherTransformer mt = (MatcherTransformer)this.transfomers.get(transformer);
/*  83 */     if (mt != null) {
/*  84 */       return mt.transform(value);
/*     */     }
/*  86 */     if (this.log.isTraceEnabled()) {
/*  87 */       this.log.trace("No matching transfomer key '" + transformer + "', trying to instantiate new.");
/*     */     }
/*     */     try
/*     */     {
/*  91 */       mt = (MatcherTransformer)ReflectionUtils.newInstance(transformer);
/*  92 */       return mt.transform(value);
/*     */     }
/*     */     catch (Throwable t) {
/*     */     }
/*  96 */     throw new IllegalArgumentException("Cannot create Matcher instance: " + t);
/*     */   }
/*     */
/*     */   public Matcher transform(Object value)
/*     */   {
/* 102 */     return new DefaultMatcher(value);
/*     */   }
/*     */ }

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
* Qualified Name:     org.jboss.kernel.plugins.dependency.DefaultMatcherFactory
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.jboss.kernel.plugins.dependency.DefaultMatcherFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.