package org.meaningfulweb.cext;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.jdom.Document;
public abstract class HtmlContentProcessor {
private Map<String, Object> extract = new LinkedHashMap<String, Object>();
private String name;
private String description;
private Map<String, Object> metadata = new LinkedHashMap<String, Object>();
protected void addExtractedValue(String name, Object value) {
if (value != null
&& (!(value instanceof String) || StringUtils.isNotBlank((String)value))) {
Object current = extract.get(name);
if (current == null) {
extract.put(name, value);
}
else if (current instanceof List) {
((List)current).add(value);
}
else {
List values = new ArrayList();
values.add(current);
values.add(value);
extract.put(name, values);
}
}
}
public Map<String, Object> getExtracted() {
return extract;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Map<String, Object> getMetadata() {
return metadata;
}
public void setMetadata(Map<String, Object> metadata) {
this.metadata = metadata;
}
public abstract boolean processContent(Document document);
}