Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Logback: the reliable, generic, fast and flexible logging framework. Copyright (C) 1999-2011, QOS.ch. All rights reserved. This program and the accompanying materials are dual-licensed under either the terms of the Eclipse Public License v1.0 as published by the Eclipse Foundation or (per the licensee's choosing) under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation.
 
 package ch.qos.logback.core.rolling.helper;
 
 import java.util.Date;
 import java.util.Map;
 
After parsing file name patterns, given a number or a date, instances of this class can be used to compute a file name according to the file name pattern and the given integer or date.

Author(s):
Ceki Gülcü
 
 public class FileNamePattern extends ContextAwareBase {
 
   static final Map<StringStringCONVERTER_MAP = new HashMap<StringString>();
   static {
         IntegerTokenConverter.class.getName());
         DateTokenConverter.class.getName());
   }
 
 
   public FileNamePattern(String patternArgContext contextArg) {
     // the pattern is slashified
     setPattern(FileFilterUtil.slashify(patternArg));
     setContext(contextArg);
     parse();
     ConverterUtil.startConverters(this.);
   }
 
   void parse() {
     try {
       // http://jira.qos.ch/browse/LBCORE-130
       // we escape ')' for parsing purposes. Note that the original pattern is preserved
       // because it is shown to the user in status messages. We don't want the escaped version
       // to leak out.
       String patternForParsing = escapeRightParantesis();
       Parser<Objectp = new Parser<Object>(patternForParsingnew AlmostAsIsEscapeUtil());
       p.setContext();
       Node t = p.parse();
       this. = p.compile(t);
 
     } catch (ScanException sce) {
       addError("Failed to parse pattern \"" +  + "\"."sce);
     }
   }
 
     return .replace(")""\\)");
   }
 
   public String toString() {
     return ;
   }
 
 
     while (p != null) {
       if (p instanceof DateTokenConverter) {
         DateTokenConverter dtc = (DateTokenConverterp;
         // only primary converters should be returned as
         if(dtc.isPrimary())
           return dtc;
       }
 
       p = p.getNext();
     }
 
     return null;
   }
    while (p != null) {
      if (p instanceof IntegerTokenConverter) {
        return (IntegerTokenConverterp;
      }
      p = p.getNext();
    }
    return null;
  }
  public String convertMultipleArguments(Object... objectList) {
    StringBuilder buf = new StringBuilder();
    while (c != null) {
      if (c instanceof MonoTypedConverter) {
        MonoTypedConverter monoTyped = (MonoTypedConverterc;
        for (Object o : objectList) {
          if (monoTyped.isApplicable(o)) {
            buf.append(c.convert(o));
          }
        }
      } else {
        buf.append(c.convert(objectList));
      }
      c = c.getNext();
    }
    return buf.toString();
  }
  public String convert(Object o) {
    StringBuilder buf = new StringBuilder();
    while (p != null) {
      buf.append(p.convert(o));
      p = p.getNext();
    }
    return buf.toString();
  }
  public String convertInt(int i) {
    return convert(i);
  }
  public void setPattern(String pattern) {
    if (pattern != null) {
      // Trailing spaces in the pattern are assumed to be undesired.
      this. = pattern.trim();
    }
  }
  public String getPattern() {
    return ;
  }

  
Given date, convert this instance to a regular expression.
  public String toRegex(Date date) {
    StringBuilder buf = new StringBuilder();
    while (p != null) {
      if (p instanceof LiteralConverter) {
        buf.append(p.convert(null));
      } else if (p instanceof IntegerTokenConverter) {
        buf.append("(\\d{1,3})");
      } else if (p instanceof DateTokenConverter) {
        buf.append(p.convert(date));
      }
      p = p.getNext();
    }
    return buf.toString();
  }

  
Given date, convert this instance to a regular expression
  public String toRegex() {
    StringBuilder buf = new StringBuilder();
    while (p != null) {
      if (p instanceof LiteralConverter) {
        buf.append(p.convert(null));
      } else if (p instanceof IntegerTokenConverter) {
        buf.append("\\d{1,2}");
      } else if (p instanceof DateTokenConverter) {
        DateTokenConverter<Objectdtc = (DateTokenConverter<Object>) p;
        buf.append(dtc.toRegex());
      }
      p = p.getNext();
    }
    return buf.toString();
  }
New to GrepCode? Check out our FAQ X