complete docs

master
yihua.huang 2013-08-09 20:36:27 +08:00
parent 7c0eba5e3f
commit fcfa2c30c7
10 changed files with 96 additions and 9 deletions

View File

@ -11,7 +11,8 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
* Pipeline<br> * PipelinePipeline<br>
* PageModelPipeline()<br>
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-2 <br> * @date: 13-8-2 <br>
* Time: 10:47 <br> * Time: 10:47 <br>

View File

@ -6,22 +6,45 @@ import java.lang.annotation.Target;
/** /**
* <br> * <br>
*
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-1 <br> * @date: 13-8-1 <br>
* Time: 8:40 <br> * Time: 8:40 <br>
*/ */
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD,ElementType.TYPE}) @Target({ElementType.FIELD, ElementType.TYPE})
public @interface ExtractBy { public @interface ExtractBy {
/**
*
*
* @return
*/
String value(); String value();
public enum Type {XPath, Regex, Css} public enum Type {XPath, Regex, Css}
/**
* XPathCss selectorXPath
*
* @return
*/
Type type() default Type.XPath; Type type() default Type.XPath;
/**
* notNulltruefalse
*
* @return
*/
boolean notNull() default false; boolean notNull() default false;
/**
* <br>
* List<String><br>
* <br>
*
* @return
*/
boolean multi() default false; boolean multi() default false;
} }

View File

@ -5,7 +5,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.Target; import java.lang.annotation.Target;
/** /**
* <br> * ExtractExtractByRaw使<br>
* *
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-1 <br> * @date: 13-8-1 <br>

View File

@ -5,7 +5,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.Target; import java.lang.annotation.Target;
/** /**
* <br> * ExtractExtractByRaw使<br>
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-1 <br> * @date: 13-8-1 <br>
* Time: 8:40 <br> * Time: 8:40 <br>

View File

@ -6,22 +6,44 @@ import java.lang.annotation.Target;
/** /**
* Class使ExtractBy使<br> * Class使ExtractBy使<br>
*
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-1 <br> * @date: 13-8-1 <br>
* Time: 8:40 <br> * Time: 8:40 <br>
*/ */
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD,ElementType.TYPE}) @Target({ElementType.FIELD, ElementType.TYPE})
public @interface ExtractByRaw { public @interface ExtractByRaw {
/**
*
*
* @return
*/
String value(); String value();
public enum Type {XPath, Regex, Css} public enum Type {XPath, Regex, Css}
/**
* XPathCss selectorXPath
*
* @return
*/
Type type() default Type.XPath; Type type() default Type.XPath;
/**
* notNulltruefalse
*
* @return
*/
boolean notNull() default false; boolean notNull() default false;
/**
* <br>
* List<String><br>
*
* @return
*/
boolean multi() default false; boolean multi() default false;
} }

View File

@ -14,10 +14,27 @@ import java.lang.annotation.Target;
@Target({ElementType.FIELD}) @Target({ElementType.FIELD})
public @interface ExtractByUrl{ public @interface ExtractByUrl{
/**
*
*
* @return
*/
String value() default ""; String value() default "";
/**
* notNulltruefalse
*
* @return
*/
boolean notNull() default false; boolean notNull() default false;
/**
* <br>
* List<String><br>
* <br>
*
* @return
*/
boolean multi() default false; boolean multi() default false;
} }

View File

@ -14,7 +14,17 @@ import java.lang.annotation.Target;
@Target({ElementType.TYPE}) @Target({ElementType.TYPE})
public @interface HelpUrl { public @interface HelpUrl {
/**
* URL<br>
* webmagic"."".""\*"".\*""http://\*.oschina.net/\*"oschinaURL<br>
*
* @return
*/
String[] value(); String[] value();
/**
* URL(XPath)
* @return URL
*/
String sourceRegion() default ""; String sourceRegion() default "";
} }

View File

@ -6,6 +6,7 @@ import java.lang.annotation.Target;
/** /**
* sourceRegionxpath<br> * sourceRegionxpath<br>
*
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-1 <br> * @date: 13-8-1 <br>
* Time: 8:40 <br> * Time: 8:40 <br>
@ -14,8 +15,18 @@ import java.lang.annotation.Target;
@Target({ElementType.TYPE}) @Target({ElementType.TYPE})
public @interface TargetUrl { public @interface TargetUrl {
/**
* URL<br>
* webmagic"."".""\*"".\*""http://\*.oschina.net/\*"oschinaURL<br>
*
* @return
*/
String[] value(); String[] value();
/**
* URL(XPath)
* @return URL
*/
String sourceRegion() default ""; String sourceRegion() default "";
} }

View File

@ -12,7 +12,7 @@ import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
/** /**
* * JSON
* *
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* Date: 13-4-21 * Date: 13-4-21

View File

@ -9,6 +9,9 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
* Pipeline<br>
* 使redis使<br>
*
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
* @date: 13-8-4 <br> * @date: 13-8-4 <br>
* Time: 5:15 <br> * Time: 5:15 <br>
@ -34,7 +37,7 @@ public class PagedPipeline implements Pipeline {
if (o instanceof PagedModel) { if (o instanceof PagedModel) {
PagedModel pagedModel = (PagedModel) o; PagedModel pagedModel = (PagedModel) o;
pageMap.put(pagedModel.getPageKey(), pagedModel.getPage(), Boolean.TRUE); pageMap.put(pagedModel.getPageKey(), pagedModel.getPage(), Boolean.TRUE);
if (pagedModel.getOtherPages()!=null){ if (pagedModel.getOtherPages() != null) {
for (String otherPage : pagedModel.getOtherPages()) { for (String otherPage : pagedModel.getOtherPages()) {
Boolean aBoolean = pageMap.get(pagedModel.getPageKey(), otherPage); Boolean aBoolean = pageMap.get(pagedModel.getPageKey(), otherPage);
if (aBoolean == null) { if (aBoolean == null) {
@ -70,8 +73,8 @@ public class PagedPipeline implements Pipeline {
} }
}); });
PagedModel value = entryList.get(0).getValue(); PagedModel value = entryList.get(0).getValue();
for (int i=1;i<entryList.size();i++){ for (int i = 1; i < entryList.size(); i++) {
value=value.combine(entryList.get(i).getValue()); value = value.combine(entryList.get(i).getValue());
} }
objectEntry.setValue(value); objectEntry.setValue(value);
} }