Commit a994b1c9 authored by yihua.huang's avatar yihua.huang

complete extension comments in en

parent c59c1fe8
......@@ -8,6 +8,7 @@ import java.util.Collection;
* Extract an object of more than one pages, such as news and articles。<br>
*
* @author code4crafter@gmail.com <br>
* @since 0.2.0
*/
@Experimental
public interface MultiPageModel {
......
......@@ -3,9 +3,10 @@ package us.codecraft.webmagic.model;
import us.codecraft.webmagic.Page;
/**
* 实现这个接口即可在抽取后进行后处理。<br>
* Interface to be implemented by page models that need to do something after fields are extracted。<br>
*
* @author code4crafter@gmail.com <br>
* @since 0.2.0
*/
public interface AfterExtractor {
......
......@@ -4,9 +4,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import us.codecraft.webmagic.Task;
/**
* Print page model in console.<br>
* Usually used in test.<br>
* @author code4crafter@gmail.com <br>
* Date: 13-8-3 <br>
* Time: 下午3:41 <br>
* @since 0.2.0
*/
public class ConsolePageModelPipeline implements PageModelPipeline {
@Override
......
......@@ -3,9 +3,9 @@ package us.codecraft.webmagic.model;
import us.codecraft.webmagic.selector.Selector;
/**
* The object contains 'ExtractBy' information.
* @author code4crafter@gmail.com <br>
* Date: 13-8-1 <br>
* Time: 下午9:48 <br>
* @since 0.2.0
*/
class Extractor {
......
......@@ -6,18 +6,18 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* Wrapper of field and extractor.
* @author code4crafter@gmail.com <br>
* Date: 13-8-1 <br>
* Time: 下午9:48 <br>
* @since 0.2.0
*/
class FieldExtractor extends Extractor{
class FieldExtractor extends Extractor {
private final Field field;
private Method setterMethod;
public FieldExtractor(Field field, Selector selector, Source source, boolean notNull,boolean multi) {
super(selector, source, notNull,multi);
public FieldExtractor(Field field, Selector selector, Source source, boolean notNull, boolean multi) {
super(selector, source, notNull, multi);
this.field = field;
}
......
package us.codecraft.webmagic.model;
import us.codecraft.webmagic.model.annotation.Experimental;
/**
* 标志一个Model的key。<br>
* 实现了这个接口的Model在输出时会使用getKey()作为标志(例如JsonFilePageModelPipeline中持久化的文件名)。<br>
* 如果持久化的文件名是乱码,请再运行的环境变量里加上LANG=zh_CN.UTF-8 。<br>
*
* Interface to be implemented by page mode.<br>
* Can be used to identify a page model, or be used as name of file storing the object.<br>
* @author code4crafter@gmail.com <br>
* Date: 13-8-10 <br>
* Time: 上午7:39 <br>
* @since 0.2.0
*/
@Experimental
public interface HasKey {
/**
* 在输出时会使用key作为标志(例如JsonFilePageModelPipeline中持久化的文件名)。
*
*
* @return key
*/
......
......@@ -14,10 +14,10 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 基于PageProcessor的扩展点。<br>
* The extension to PageProcessor for page model extractor.
*
* @author code4crafter@gmail.com <br>
* Date: 13-8-1 <br>
* Time: 下午8:46 <br>
* @since 0.2.0
*/
class ModelPageProcessor implements PageProcessor {
......
......@@ -11,11 +11,10 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* 基于Pipeline的扩展点,用于实现注解格式的Pipeline。<br>
* 与PageModelPipeline是一对多的关系(原谅作者没有更好的名字了)。<br>
* The extension to Pipeline for page model extractor.
*
* @author code4crafter@gmail.com <br>
* Date: 13-8-2 <br>
* Time: 上午10:47 <br>
* @since 0.2.0
*/
class ModelPipeline implements Pipeline {
......
......@@ -42,7 +42,7 @@ public class OOSpider extends Spider {
}
/**
* 创建一个爬虫。<br>
* create a spider
* @param site
* @param pageModelPipeline
* @param pageModels
......
......@@ -15,11 +15,10 @@ import java.util.List;
import java.util.regex.Pattern;
/**
* Model主要逻辑类。将一个带注解的POJO转换为一个PageModelExtractor。<br>
* The main internal logic of page model extractor.
*
* @author code4crafter@gmail.com <br>
* Date: 13-8-1 <br>
* Time: 下午9:33 <br>
* @since 0.2.0
*/
class PageModelExtractor {
......
......@@ -3,9 +3,10 @@ package us.codecraft.webmagic.model;
import us.codecraft.webmagic.Task;
/**
* Implements PageModelPipeline to persistent your page model.
*
* @author code4crafter@gmail.com <br>
* Date: 13-8-3 <br>
* Time: 上午9:34 <br>
* @since 0.2.0
*/
public interface PageModelPipeline<T> {
......
<html>
<body>
Annotations for define a class.
Annotations for defining a extractor.
</body>
</html>
......@@ -6,8 +6,11 @@ import java.util.ArrayList;
import java.util.List;
/**
* JsonPath
* JsonPath selector.<br>
* Used to extract content from JSON.<br>
*
* @author code4crafter@gmail.com <br>
* @since 0.2.1
*/
public class JsonPathSelector implements Selector {
......@@ -43,7 +46,7 @@ public class JsonPathSelector implements Selector {
return list;
}
if (object instanceof List) {
return (List<String>)object;
return (List<String>) object;
} else {
list.add(object.toString());
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment