View Javadoc
1   package us.codecraft.webmagic.model.fields;
2   
3   import java.lang.reflect.InvocationTargetException;
4   
5   import org.slf4j.Logger;
6   
7   import lombok.Getter;
8   import us.codecraft.webmagic.model.FieldExtractor;
9   
10  public class SingleField extends PageField {
11     @Getter
12     private String fieldName; 
13  
14     public SingleField(String fieldName) {
15        this.fieldName = fieldName;
16     }
17  
18     public boolean operation(Object o, FieldExtractor fieldExtractor, Logger logger) throws IllegalAccessException, InvocationTargetException {
19        if (fieldExtractor.getObjectFormatter() != null) {
20           Object converted = this.convert(this.fieldName, fieldExtractor.getObjectFormatter(), logger);
21           if (converted == null && fieldExtractor.isNotNull())
22              return false;
23           setField(o, fieldExtractor, converted);
24        } else
25           setField(o, fieldExtractor, this.fieldName);
26        return true;
27     }
28  }