org.apache.commons.discovery.resource.names
public class: DiscoverMappedNames [javadoc |
source]
java.lang.Object
org.apache.commons.discovery.resource.names.ResourceNameDiscoverImpl
org.apache.commons.discovery.resource.names.DiscoverMappedNames
All Implemented Interfaces:
ResourceNameDiscover
Recover resource name from Managed Properties,
using OLD property names.
This class maintains a mapping between old names and
(new) the class names they represent. The discovery
mechanism uses the class names as property names.
| Method from org.apache.commons.discovery.resource.names.DiscoverMappedNames Detail: |
public ResourceNameIterator findResourceNames(String resourceName) {
if (log.isDebugEnabled()) {
log.debug("find: resourceName='" + resourceName + "', mapping to constants");
}
final Object obj = mapping.get(resourceName);
final String[] names;
if (obj instanceof String) {
names = new String[] { (String)obj };
} else if (obj instanceof String[]) {
names = (String[])obj;
} else {
names = null;
}
return new ResourceNameIterator() {
private int idx = 0;
public boolean hasNext() {
if (names != null) {
while (idx < names.length && names[idx] == null) {
idx++;
}
return idx < names.length;
}
return false;
}
public String nextResourceName() {
return hasNext() ? names[idx++] : null;
}
};
}
|
public void map(String fromName,
String toName) {
mapping.put(fromName, toName);
}
|
public void map(String fromName,
String[] toNames) {
mapping.put(fromName, toNames);
}
|
public static void setLog(Log _log) {
log = _log;
}
|