锘??xml version="1.0" encoding="utf-8" standalone="yes"?>在线亚洲午夜理论AV大片,一本色道久久综合亚洲精品,相泽亚洲一区中文字幕http://www.tkk7.com/apple0668/category/43619.html涓婂杽鑻ユ按錛屾按鍠勫埄涓囩墿鑰屼笉浜夛紝澶勪紬浜轟箣鎵鎭惰屼笉浜夛紝鏁呭嚑浜庨亾鈥斺斻婅佸瓙銆?/description>zh-cnSun, 17 Jan 2010 13:29:04 GMTSun, 17 Jan 2010 13:29:04 GMT60Drools璇硶璇﹁В<杞?gt;http://www.tkk7.com/apple0668/archive/2010/01/17/309884.htmlapple0668apple0668Sun, 17 Jan 2010 13:11:00 GMThttp://www.tkk7.com/apple0668/archive/2010/01/17/309884.htmlhttp://www.tkk7.com/apple0668/comments/309884.htmlhttp://www.tkk7.com/apple0668/archive/2010/01/17/309884.html#Feedback0http://www.tkk7.com/apple0668/comments/commentRss/309884.htmlhttp://www.tkk7.com/apple0668/services/trackbacks/309884.html鍘熸枃錛?font style="background-color: #cce8cf">http://www.javaeye.com/topic/190294
涓涓吀鍨嬬殑DRL鏂囦歡錛?
Java浠g爜
鈶爌ackage com.sample   //鍖呭悕錛屼笉鍙互涓庡叧閿瓧鍐茬獊  
鈶mport com.sample.DroolsTest.Message;//鏈枃浠墮渶瑕佸鍏ョ殑綾?nbsp; 
鈶lobal java.util.List myGlobalList;//鍏ㄥ眬鍙橀噺  
鈶?/瀹氫箟鍑芥暟浣?nbsp; 
function String hello(String name) {  
    return "Hello "+name+"!";  
}  
 
鈶ule "myRule"    
no-loop true  //鎵ц涓嬈″悗錛屾槸鍚﹁兘琚啀嬈℃縺媧?nbsp; 
salience 100  //浼樺厛綰у埆  
鈶hen    
m : Message( status == Message.HELLO, message : message )   
鈶hen      
m.setMessage( "Goodbye cruel world" );  
        m.setStatus( Message.GOODBYE );  
        update( m );  
    myGlobalList.add( "Hello World" );//浣跨敤global 鍙橀噺  
    System.out.println( hello( "Bob" ) );//璋冪敤瀹氫箟鍑芥暟  
End 

鈶爌ackage com.sample   //鍖呭悕錛屼笉鍙互涓庡叧閿瓧鍐茬獊
鈶mport com.sample.DroolsTest.Message;//鏈枃浠墮渶瑕佸鍏ョ殑綾?br /> 鈶lobal java.util.List myGlobalList;//鍏ㄥ眬鍙橀噺
鈶?/瀹氫箟鍑芥暟浣?br /> function String hello(String name) {
    return "Hello "+name+"!";
}

鈶ule "myRule" 
no-loop true  //鎵ц涓嬈″悗錛屾槸鍚﹁兘琚啀嬈℃縺媧?br /> salience 100  //浼樺厛綰у埆
鈶hen 
m : Message( status == Message.HELLO, message : message )
鈶hen   
m.setMessage( "Goodbye cruel world" );
  m.setStatus( Message.GOODBYE );
  update( m );
    myGlobalList.add( "Hello World" );//浣跨敤global 鍙橀噺
    System.out.println( hello( "Bob" ) );//璋冪敤瀹氫箟鍑芥暟
End

 

鈶爌ackage com.sample
鍖呭悕錛屼笉鍙互涓庡叧閿瓧鍐茬獊銆備竴涓寘閫氳繃鍚嶇О絀洪棿鎻忕粯錛岃繖鏍峰緢濂界殑淇濇寔浜嗕竴緇勮鍒欑殑鐙珛鎬с?
鈶mport
鏍囪灝卞儚java涓殑鍚箟涓鏍楓傚浜庝換浣曡鐢ㄥ湪瑙勫垯涓殑瀵硅薄錛屼綘闇瑕佹寚瀹氬畬鏁寸殑璺緞鍜岀被鍨嬪悕銆侱rools浠庡悓鍚嶇殑java鍖呬腑鑷姩瀵煎叆綾匯?
鈶lobal
濡傛灉澶氫釜鍖呭畾涔変簡鍚屾牱鍚嶇О鐨勫叏灞鍙橀噺錛屽畠浠繀欏諱嬌鐢ㄥ悓鏍風(fēng)殑綾誨瀷錛屽茍涓斿叏閮ㄦ寚鍚戝悓涓涓叏灞鍊箋傚叏閮ㄥ彉閲忛氬父鐢ㄦ潵榪斿洖鏁版嵁錛岃幏寰楁彁渚涙暟鎹垨鏈嶅姟緇欒鍒欎嬌鐢ㄣ備負浜嗕嬌鐢ㄥ叏灞鍙橀噺錛屼綘蹇呴』錛?
鍦ㄨ鍒欐枃浠朵腑澹版槑鍏ㄥ眬鍙橀噺騫朵嬌鐢ㄥ畠錛屽錛?
global java.util.List myGlobalList;
rule "Using a global"
when
    eval( true )
then
    myGlobalList.add( "Hello World" );
end
鍦╳orking memory涓婅緗叏灞鍙橀噺鐨勫箋傛渶濂芥槸鍦ㄥ皢fact鎻掑叆working memory涔嬪墠璁劇疆瀹屾墍鏈夊叏灞鍙橀噺錛屽錛?
List list = new ArrayList();
WorkingMemory wm = rulebase.newStatefulSession();
wm.setGlobal( "myGlobalList", list );
鈶unction
鐩稿浜庢甯哥殑java綾伙紝鍑芥暟鏄湪浣犵殑瑙勫垯浠g爜涓斁緗璦浠g爜鐨勬柟娉曘傚畠浠笉鍙兘鍋氫換浣曡秴榪囦綘鍙互鍦ㄥ府鍔╃被錛堝湪java涓畾涔夛紝琚緗叆瑙勫垯鐨刉orking Memory涓殑綾伙級涓仛鍒扮殑浜嬫儏銆備嬌鐢ㄥ嚱鏁扮殑浼樼偣鏄彲浠ュ皢閫昏緫淇濆瓨鍦ㄤ竴涓湴鏂癸紝騫朵笖浣犲彲浠ュ湪闇瑕佺殑鏃跺欐敼鍙樺嚱鏁幫紙榪欐牱鍋氬悇鏈変紭緙虹偣錛夈傚嚱鏁版渶澶х殑鐢ㄥ鏄瑙勫垯鐨勬帹璁猴紙then錛夐儴鍒嗕腑鐨勮涓烘墍璋冪敤錛岀壒鍒槸褰撲竴涓涓烘搷浣滈渶瑕佸弽澶嶈璋冪敤鏃訛紙灝嗗叕鐢ㄤ唬鐮佹娊鍙栧嚭鏉ユ垚涓轟竴涓嚱鏁幫級銆?
鈶ule 鍚嶇О鍙互鍦?#8220;”涓嬪彇浠諱綍鍚嶅瓧銆?
灞炴у垪琛細
灞炴?綾誨瀷 榛樿鍊?鍔熻兘鎻忚堪
no-loop Boolean false 璁劇疆no-loop涓簍rue鍙互闃繪璇ヨ鍒欒鍐嶆嬋媧匯?
salience integer 0 浼樺厛綰ф暟瀛楅珮鐨勮鍒欎細姣斾紭鍏堢駭浣庣殑瑙勫垯鍏堟墽琛屻?
agenda-group String MAIN 鍙湁鍦ㄥ叿鏈夌劍鐐圭殑agenda group涓殑瑙勫垯鎵嶈兘澶熸縺鍙戙?
auto-focus Boolean false 濡傛灉璇ヨ鍒欑鍚堟縺媧繪潯浠訛紝鍒欒瑙勫垯鎵鍦╝genda-group鑷姩鑾峰緱鐒︾偣錛屽厑璁歌鍒欐縺鍙戙?
activation-group String N/A 鍦ㄥ悓鍚峚ctivation-group涓殑瑙勫垯灝嗕互浜掓枼鐨勬柟寮忔縺鍙?
dialect String "java" or "mvel" 鎸囧畾鍦↙HS浠g爜琛ㄨ揪寮忔垨RHS浠g爜鍧椾腑浣跨敤鐨勮璦銆?
date-effective String, 鍖呭惈鏃ユ湡/鏃墮棿瀹氫箟 N/A 瑙勫垯鍙兘鍦╠ate-effective鎸囧畾鐨勬棩鏈熷拰鏃墮棿涔嬪悗嬋媧匯?
date-exptires String, 鍖呭惈鏃ユ湡/鏃墮棿瀹氫箟 N/A 濡傛灉褰撳墠鏃墮棿鍦╠ate-expires鎸囧畾鐨勬椂闂翠箣鍚庯紝瑙勫垯涓嶈兘嬋媧匯?

duration long N/A 鎸囧嚭瑙勫垯灝嗗湪鎸囧畾鐨勪竴孌墊椂闂村悗嬋鍙戯紝濡傛灉閭d釜鏃跺欒鍒欑殑嬋媧繪潯浠惰繕鏄浜巘rue鐨勬儏鍐典笅銆?
鈶?nbsp; LHS (when) 鏉′歡鍏冪礌
涓轟簡鑳藉寮曠敤鍖歸厤鐨勫璞★紝浣跨敤涓涓ā寮忕粦瀹氬彉閲忓‘$c’銆傚彉閲忕殑鍓嶇紑浣跨敤鐨?鏄彲閫夌殑錛屼絾鏄湪澶嶆潅鐨勮鍒欎腑瀹冧細寰堟柟渚跨敤鏉ュ尯鍒彉閲忎笌瀛楁鐨勪笉鍚屻?
$c : Cheese( type == "stilton", price < 10, age == "mature" )
&& 鍜寍| 綰︽潫榪炴帴絎?
Cheese( type == "stilton" && price < 10, age == "mature" )
Cheese( type == "stilton" || price < 10, age == "mature" )
絎竴涓湁涓や釜綰︽潫鑰岀浜屼釜緇勬湁涓涓害鏉燂紝鍙互閫氳繃鍦嗘嫭鍙鋒潵鏀瑰彉姹傚肩殑欏哄簭銆?
鍗曞肩害鏉?
Matches 鎿嶄綔
Cheese( type matches "(Buffalo)?\S*Mozerella" )
Cheese( type not matches "(Buffulo)?\S*Mozerella" )
Contains 鎿嶄綔
CheeseCounter( cheeses contains "stilton" )
CheeseCounter( cheeses not contains "cheddar" )
memberof鎿嶄綔
CheeseCounter( cheese memberof $matureCheeses )
CheeseCounter( cheese not memberof $matureCheeses )
瀛楃涓茬害鏉?
瀛楃涓茬害鏉熸槸鏈綆鍗曠殑綰︽潫鏍煎紡錛屽皢瀛楁涓庢寚瀹氱殑瀛楃涓叉眰鍊鹼細鏁板鹼紝鏃ユ湡錛宻tring鎴栬卋oolean銆?
Cheese( quantity == 5 )
Cheese( bestBefore < "27-Oct-2007" )
Cheese( type == "stilton" )
Cheese( smelly == true )
緇戝畾鍙橀噺綰︽潫
鍙橀噺鍙互緇戝畾鍒癋act鍜屽畠浠殑瀛楁錛岀劧鍚庡湪鍚庨潰鐨勫瓧孌電害鏉熶腑浣跨敤銆傜粦瀹氬彉閲忚縐頒負澹版槑銆傛湁鏁堢殑鎿嶄綔絎︾敱琚害鏉熺殑瀛楁綾誨瀷鍐沖畾錛涘湪閭i噷浼氳繘琛屽己鍒惰漿鎹€傜粦瀹氬彉閲忕害鏉熶嬌鐢?=='鎿嶄綔絎︼紝鍥犱負鑳藉浣跨敤hash绱㈠紩錛屽洜姝ゆ彁渚涢潪甯稿揩鐨勬墽琛岄熷害銆?
Person( likes : favouriteCheese )
Cheese( type == likes )
榪斿洖鍊肩害鏉?
榪斿洖鍊肩害鏉熷彲浠ヤ嬌鐢ㄤ換浣曟湁鏁堢殑Java鍏冩暟鎹被鍨嬫垨瀵硅薄銆傝閬垮厤浣跨敤浠諱綍Drools鍏抽敭瀛椾綔涓哄0鏄庢爣璇嗐傚湪榪斿洖鍊肩害鏉熶腑浣跨敤鐨勫嚱鏁板繀欏昏繑鍥為潤鎬佸父閲忥紙time constant錛夌粨鏋溿備箣鍓嶅0鏄庣殑緇戝畾鍙互鐢ㄥ湪琛ㄨ揪寮忎腑銆?
Person( girlAge : age, sex == "F" )
Person( age == ( girlAge + 2) ), sex == 'M' )
澶嶅悎鍊肩害鏉?
澶嶅悎鍊肩害鏉熺敤鍦ㄥ彲鑳芥湁澶氫釜鍏佽鍊肩殑鏃跺欙紝褰撳墠鍙敮鎸?in' 鍜?not in'涓や釜鎿嶄綔銆傝繖浜涙搷浣滀嬌鐢ㄥ渾鎷彿鍖呭惈鐢ㄩ楀彿鍒嗗紑鐨勫肩殑鍒楄〃錛屽畠鍙互鏄彉閲忥紝瀛楃涓詫紝榪斿洖鍊兼垨闄愬畾鏍囪瘑絎︺?in' 鍜?not in'榪愮畻寮忓疄闄呬笂琚娉曞垎鏋愬櫒閲嶅啓鎴愬涓?= and ==緇勬垚鐨勫閲嶇害鏉熴?
Person( $cheese : favouriteCheese )
Cheese( type in ( "stilton", "cheddar", $cheese )
澶氶噸綰︽潫
澶氶噸綰︽潫鍏佽浣犲涓涓瓧孌甸氳繃浣跨敤'&&' 鎴栬?||'綰︽潫榪炴帴絎﹁繘琛屽涓害鏉熸潯浠剁殑鍒ゆ柇銆傚厑璁鎬嬌鐢ㄥ渾鎷彿鍒嗙粍錛屽畠浼氳榪欑綰︽潫鐪嬭搗鏉ユ洿鑷劧銆?
Person( age ( (> 30 && < 40) || (> 20 && < 25) ) )
Person( age > 30 && < 40 || location == "london" )
鍐呰仈鐨凟val綰︽潫
eval綰︽潫鍙互浣跨敤浠諱綍鏈夋晥鐨勮璦琛ㄨ揪寮忥紝鍙瀹冩渶緇堣兘琚眰鍊間負boolean鍏冩暟鎹被鍨嬨傝〃杈懼紡蹇呴』鏄潤鎬佸父閲忥紙time constant錛夈備換浣曞湪褰撳墠妯″紡涔嬪墠瀹氫箟鐨勫彉閲忛兘鍙互浣跨敤錛岃嚜鍔ㄤ唬鍏ワ紙autovivification錛夋満鍒剁敤鏉ヨ嚜鍔ㄥ緩绔嬪瓧孌電粦瀹氬彉閲忋傚綋鏋勫緩鍣ㄥ彂鐜版爣璇嗕笉鏄綋鍓嶅畾涔夌殑鍙橀噺鍚嶆槸錛屽畠?yōu)畣灏濊瘯灏嗗畠浣滀负瀵硅薄鐨勫瓧娈垫潵璁块棶锛寴q欑鎯呭喌涓嬶紝鏋勫緩鍣ㄨ嚜鍔ㄥ湪inline-eval涓緩绔嬭瀛楁鐨勫悓鍚嶅彉閲忋?
Person( girlAge : age, sex = "F" )
Person( eval( girlAge == boyAge + 2 ), sex = 'M' )

鈶HS (then) 鎵ц鎿嶄綔
榪欓儴鍒嗗簲褰撳寘鍚竴緋誨垪闇瑕佹墽琛岀殑鎿嶄綔銆傝鍒欑殑RHS閮ㄥ垎搴旇淇濇寔綆鐭殑錛岃繖淇濇寔瀹冩槸澹版槑鎬у拰鍙鎬х殑銆傚鏋滀綘鍙戠幇浣犻渶瑕佸湪RHS涓嬌鐢ㄥ懡浠ゅ紡鎴朼nd/or鏉′歡浠g爜錛岄偅浣犲彲鑳介渶瑕佸皢瑙勫垯鎷嗗垎涓哄涓鍒欍俁HS鐨勪富瑕佺洰鐨勬槸鎻掑叆錛屽垹闄や慨鏀箇orking memory鏁版嵁銆?
"update(object, handle);" 灝嗗憡璇夊紩鎿庡璞″凡緇忔敼鍙橈紙宸茬粡琚粦瀹氬埌LHS涓殑閭d竴涓級錛屽茍涓旇鍒欓渶瑕侀噸鏂版鏌ャ?
"insert(new Something());" 灝嗗湪working memory涓斁緗竴涓綘鏂板緩鐨勫璞°?
"insertLogical(new Something());" 涓巌nsert綾諱技錛屼絾鏄綋娌℃湁鏇村鐨刦act鏀寔褰撳墠嬋鍙戣鍒欑殑鐪熷肩姸鎬佹椂錛屽璞¤嚜鍔ㄥ垹闄ゃ?
"retract(handle);" removes an object from working memory.
鈶?Query
鏌ヨ涓粎浠呭寘鍚鍒橪HS閮ㄥ垎鐨勭粨鏋勶紙涓嶇敤鎸囧畾when鎴杢hen錛夈傚畠鎻愪緵浜嗘煡璇orking memory 涓鍚堢害鏉熸潯浠剁殑瀵硅薄鐨勪竴涓畝鍗曞姙娉曘?
query "people over the age of 30"
    person : Person( age > 30 )
end
閫氳繃鍦ㄨ繑鍥炵殑鏌ヨ緇撴灉(QueryResults)涓婅繘琛屾爣鍑嗙殑for寰幆閬嶅巻錛屾瘡涓琛屽皢榪斿洖涓涓猀ueryResult錛岃瀵硅薄鍙互鐢ㄦ潵瀛樺彇緇勫厓涓殑姣忎竴涓狢olumn銆傝繖浜汣olumn鍙互閫氳繃澹版槑鐨勫悕縐版垨绱㈠紩浣嶇疆瀛樺彇銆?
QueryResults results = workingMemory.getQueryResults( "people over the age of 30" );
for ( Iterator it = results.iterator; it.hasNext(); ) {
    QueryResult result = ( QueryResult ) it.next();
    Person person = ( Person ) result.get( "person" );
    }

 



apple0668 2010-01-17 21:11 鍙戣〃璇勮
]]>
eclipse3.4瀹夎drools鎻掍歡鎵嬭http://www.tkk7.com/apple0668/archive/2010/01/17/309883.htmlapple0668apple0668Sun, 17 Jan 2010 13:08:00 GMThttp://www.tkk7.com/apple0668/archive/2010/01/17/309883.htmlhttp://www.tkk7.com/apple0668/comments/309883.htmlhttp://www.tkk7.com/apple0668/archive/2010/01/17/309883.html#Feedback0http://www.tkk7.com/apple0668/comments/commentRss/309883.htmlhttp://www.tkk7.com/apple0668/services/trackbacks/309883.html 涓嬭澆drools eclipse鎻掍歡錛屽湴鍧涓猴細http://www.jboss.org/drools/downloads.html
瑙e帇鐢╨inks鏂瑰紡瀹夎鎻掍歡錛屽鏋?font style="background-color: #cce8cf">features鐩綍鍜?font style="background-color: #cce8cf">plugins鐩綍涓婂眰娌℃湁eclipse鏂囦歡澶癸紝灝辮寤轟竴涓?br />
鍦‥clipse鐩綍涓嬮潰鏂板緩涓涓猯inks鏂囦歡澶癸紝閲岄潰寤轟竴涓猉XX.link錛屽唴瀹逛負錛歱ath=F://plugins/drools

鍚姩Eclipse錛屽湪window----prefernces閭i噷濡傛灉鐪嬩笉鍒板張drools錛屽氨璇存槑鎻掍歡瀹夎涓嶆垚鍔熴?br />
Eclipse3.4瀹夎drools鎻掍歡閬囧埌璇嗗埆涓嶄簡鎻掍歡錛岃В鍐蟲柟妗堝涓嬶細

F:\eclipse\configuration\org.eclipse.equinox.simpleconfigurator涓嬮潰bundles.info鏈鍚庡姞涓婁互涓嬪嚑鍙ワ細

org.guvnor.tools,5.0.1,file:plugins\org.guvnor.tools_5.0.1.jar,4,false
org.eclipse.webdav,3.0.101,file:plugins\org.eclipse.webdav_3.0.101.jar,4,false
org.drools.eclipse,5.0.1,file:plugins\org.drools.eclipse_5.0.1.jar,4,false
org.drools.eclipse.task,5.0.1,file:plugins\org.drools.eclipse.task_5.0.1.jar,4,false

淇濆瓨鍗沖彲銆?br />
鍐嶆鍚姩Eclipse灝卞彲浠ユ垚鍔熷畨瑁呮彃浠訛紝window----prefernces---drools鎻掍歡錛岄厤緗甦rools鐨勪緷璧栧寘鐜錛岃繖浜涘緢綆鍗曪紝鐪佺暐銆?br />
鏂板緩涓涓猟rools宸ョ▼錛屽氨浼氱湅鍒頒竴涓檮甯︾殑helloworld鐨勪緥瀛愶紝鎵цjava鏂囦歡鍗沖彲鎵ц嫻嬭瘯銆?br />
Sample.drl

package com.sample
 
import com.sample.DroolsTest.Message;
 
rule "Hello World"
    when
        m : Message( status == Message.HELLO, myMessage : message )
    then
        System.out.println( myMessage ); 
        m.setMessage( "Goodbye cruel world" );
        m.setStatus( Message.GOODBYE );
        update( m );
end

rule "GoodBye"
    when
        Message( status == Message.GOODBYE, myMessage : message )
    then
        System.out.println( myMessage );
end


DroolsTest.java

 1package com.sample;
 2
 3import org.drools.KnowledgeBase;
 4import org.drools.KnowledgeBaseFactory;
 5import org.drools.builder.KnowledgeBuilder;
 6import org.drools.builder.KnowledgeBuilderError;
 7import org.drools.builder.KnowledgeBuilderErrors;
 8import org.drools.builder.KnowledgeBuilderFactory;
 9import org.drools.builder.ResourceType;
10import org.drools.io.ResourceFactory;
11import org.drools.logger.KnowledgeRuntimeLogger;
12import org.drools.logger.KnowledgeRuntimeLoggerFactory;
13import org.drools.runtime.StatefulKnowledgeSession;
14
15/**
16 * This is a sample class to launch a rule.
17 */

18public class DroolsTest {
19
20    public static final void main(String[] args) {
21        try {
22            // load up the knowledge base
23            KnowledgeBase kbase = readKnowledgeBase();
24            StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
25            KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
26            // go !
27            Message message = new Message();
28            message.setMessage("Hello World");
29            message.setStatus(Message.HELLO);
30            ksession.insert(message);
31            ksession.fireAllRules();
32            logger.close();
33        }
 catch (Throwable t) {
34            t.printStackTrace();
35        }

36    }

37
38    private static KnowledgeBase readKnowledgeBase() throws Exception {
39        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
40        kbuilder.add(ResourceFactory.newClassPathResource("Sample.drl"), ResourceType.DRL);
41        KnowledgeBuilderErrors errors = kbuilder.getErrors();
42        if (errors.size() > 0{
43            for (KnowledgeBuilderError error: errors) {
44                System.err.println(error);
45            }

46            throw new IllegalArgumentException("Could not parse knowledge.");
47        }

48        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
49        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
50        return kbase;
51    }

52
53    public static class Message {
54        
55        public static final int HELLO = 0;
56        public static final int GOODBYE = 1;
57
58        private String message;
59
60        private int status;
61
62        public String getMessage() {
63            return this.message;
64        }

65
66        public void setMessage(String message) {
67            this.message = message;
68        }

69
70        public int getStatus() {
71            return this.status;
72        }

73
74        public void setStatus(int status) {
75            this.status = status;
76        }

77        
78    }

79
80}

杈撳嚭錛?br />
Hello World
Goodbye cruel world



apple0668 2010-01-17 21:08 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 一级毛片免费不卡| 91在线亚洲综合在线| 一级毛片大全免费播放| 成人国产mv免费视频| 亚洲成_人网站图片| 野花高清在线观看免费3中文| 亚洲白嫩在线观看| 亚洲性线免费观看视频成熟 | 无码A级毛片免费视频内谢| 国产亚洲老熟女视频| 99精品视频在线观看免费| 国产A在亚洲线播放| 美女在线视频观看影院免费天天看| 久久国产亚洲精品麻豆| 久久免费视频网站| 亚洲视频小说图片| 在线看片无码永久免费视频| 日本亚洲免费无线码| 国产成人免费全部网站| 人妻18毛片a级毛片免费看| 亚洲色WWW成人永久网址| 大地资源在线资源免费观看| 亚洲最大成人网色| 黄页网站免费观看| 国产亚洲视频在线观看网址| 亚洲国产日韩在线观频| 免费日本一区二区| 亚洲一区二区三区在线观看蜜桃| 手机看片久久国产免费| 一区二区三区AV高清免费波多| 亚洲AV无码一区东京热| 黄瓜视频高清在线看免费下载| 麻豆亚洲AV成人无码久久精品 | 免费国产怡红院在线观看| 国产在线观看免费av站| 亚洲日韩乱码中文无码蜜桃臀| 在线观看国产情趣免费视频| 黄桃AV无码免费一区二区三区| 久久久久亚洲AV无码专区首JN| 看全色黄大色大片免费久久| 国产在线观看免费av站|