| Method from org.apache.cocoon.components.treeprocessor.MapStackResolver Detail: |
public static Parameters buildParameters(Map expressions,
List mapStack) throws PatternException {
if (expressions == null || expressions.size() == 0) {
return Parameters.EMPTY_PARAMETERS;
}
Parameters result = new Parameters();
Iterator iter = expressions.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry)iter.next();
result.setParameter(
((MapStackResolver)entry.getKey()).resolve(mapStack),
((MapStackResolver)entry.getValue()).resolve(mapStack)
);
}
return result;
} Deprecated!Build a Parameters object from a Map of named ListOfMapResolvers and
a list of Maps used for resolution. |
public static MapStackResolver getResolver(String expression) throws PatternException {
if (needsResolve(expression)) {
// return new RealResolver(expression);
return new CompiledResolver(expression);
} else {
return new NullResolver(expression);
}
} Deprecated!Get a resolver for a given expression. Chooses the most efficient implementation
depending on expression. |
public static boolean needsResolve(String expression) {
if (expression == null || expression.length() == 0) {
return false;
}
// Is the first char a '{' ?
if (expression.charAt(0) == '{") {
return true;
}
if (expression.length() < 2) {
return false;
}
// Is there any unescaped '{' ?
int pos = 1;
while ( (pos = expression.indexOf('{", pos)) != -1) {
// Found a '{' : is it escaped ?
if (expression.charAt(pos - 1) != '\\") {
// No : need to resolve
return true;
}
pos++;
}
// Nothing found...
return false;
} Deprecated!Does an expression need resolving (i.e. contain {...} patterns) ? |
abstract public String resolve(List mapStack) throws PatternException Deprecated!
Resolve all {...} patterns using the values given in the list of maps. |
public static Map resolveMap(Map expressions,
List mapStack) throws PatternException {
int size;
if (expressions == null || (size = expressions.size()) == 0) {
return EMPTY_MAP;
}
Map result = new HashMap(size);
Iterator iter = expressions.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry)iter.next();
result.put(
((MapStackResolver)entry.getKey()).resolve(mapStack),
((MapStackResolver)entry.getValue()).resolve(mapStack)
);
}
return result;
} Deprecated!Resolve all values of a Map from a Map of named ListOfMapResolvers and
a list of Maps used for resolution. |
public static String unescape(String expression) {
// Does it need escaping ?
if (expression == null || expression.indexOf("\\{") == -1) {
return expression;
}
StringBuffer buf = new StringBuffer();
for (int i = 0; i < expression.length(); i++) {
char ch = expression.charAt(i);
if (ch != '\\" || i >= (expression.length() - 1) || expression.charAt(i+1) != '{") {
buf.append(ch);
}
}
return buf.toString();
} Deprecated!Unescape an expression that doesn't need to be resolved, but may contain
escaped '{' characters. |