public static Template create(String value){
  if (Settings.isFunction(value)) {
    return new FunctionalTemplate(value);
  }
  if (Graph.isRelational(value)) {
    try {
      return new RelationalTemplate(value);
    }
 catch (    Exception e) {
      log.warning("illegal relational structure: " + value + ")");
      return new StringTemplate(value);
    }
  }
 else   if (RegexTemplate.isPossibleRegex(value)) {
    try {
      if (ArithmeticTemplate.isArithmeticExpression(value)) {
        return new ArithmeticTemplate(value);
      }
      return new RegexTemplate(value);
    }
 catch (    PatternSyntaxException e) {
      log.warning("illegal pattern: " + value + ")");
      return new StringTemplate(value);
    }
  }
 else {
    return new StringTemplate(value);
  }
}

public static Template create ( String value ) { if ( Settings . isFunction ( value ) ) { return new FunctionalTemplate ( value ) ; } if ( Graph . isRelational ( value ) ) { try { return new RelationalTemplate ( value ) ; } catch ( Exception e ) { log . warning ( "illegal relational structure: " + value + ")" ) ; return new StringTemplate ( value ) ; } } else if ( RegexTemplate . isPossibleRegex ( value ) ) { try { if ( ArithmeticTemplate . isArithmeticExpression ( value ) ) { return new ArithmeticTemplate ( value ) ; } return new RegexTemplate ( value ) ; } catch ( PatternSyntaxException e ) { log . warning ( "illegal pattern: " + value + ")" ) ; return new StringTemplate ( value ) ; } } else { return new StringTemplate ( value ) ; } }
creates a new template based on the string value . this method finds the best template representation for the string and returns the result .
