6fd010efa0e0ca24ac95d0b8b4eb49fa29a1cd0e
[jalviewjs.git] / site / swingjs / j2s / java / util / regex / Pattern.js
1 Clazz.declarePackage("java.util.regex");
2 Clazz.load(null,"java.util.regex.Pattern",["java.lang.IllegalArgumentException","$.StringBuffer","java.util.regex.Matcher"],function(){
3 c$=Clazz.decorateAsClass(function(){
4 this.$flags=0;
5 this.regexp=null;
6 Clazz.instantialize(this,arguments);
7 },java.util.regex,"Pattern",null,java.io.Serializable);
8 Clazz.defineMethod(c$,"matcher",
9 function(cs){
10 return new java.util.regex.Matcher(this,cs);
11 },"CharSequence");
12 Clazz.defineMethod(c$,"split",
13 function(input,limit){
14 var res=new Array(0);
15 var mat=this.matcher(input);
16 var index=0;
17 var curPos=0;
18 if(input.length()==0){
19 return[""];
20 }else{
21 while(mat.find()&&(index+1<limit||limit<=0)){
22 res[res.length]=input.subSequence(curPos,mat.start()).toString();
23 curPos=mat.end();
24 index++;
25 }
26 res[res.length]=input.subSequence(curPos,input.length()).toString();
27 index++;
28 if(limit==0){
29 while(--index>=0&&res[index].toString().length==0){
30 res.length--;
31 }
32 }}return res;
33 },"CharSequence,~N");
34 Clazz.defineMethod(c$,"split",
35 function(input){
36 return this.split(input,0);
37 },"CharSequence");
38 Clazz.defineMethod(c$,"pattern",
39 function(){
40 {
41 return this.regexp.source;
42 }return null;
43 });
44 Clazz.defineMethod(c$,"toString",
45 function(){
46 return this.pattern();
47 });
48 Clazz.defineMethod(c$,"flags",
49 function(){
50 return this.$flags;
51 });
52 c$.compile=Clazz.defineMethod(c$,"compile",
53 function(regex,flags){
54 if((flags!=0)&&((flags|239)!=239)){
55 throw new IllegalArgumentException("Illegal flags");
56 }var flagStr="g";
57 if((flags&8)!=0){
58 flagStr+="m";
59 }if((flags&2)!=0){
60 flagStr+="i";
61 }var pattern=new java.util.regex.Pattern();
62 {
63 pattern.regexp=new RegExp(regex,flagStr);
64 }return pattern;
65 },"~S,~N");
66 c$.compile=Clazz.defineMethod(c$,"compile",
67 function(pattern){
68 return java.util.regex.Pattern.compile(pattern,0);
69 },"~S");
70 c$.matches=Clazz.defineMethod(c$,"matches",
71 function(regex,input){
72 return java.util.regex.Pattern.compile(regex).matcher(input).matches();
73 },"~S,CharSequence");
74 c$.quote=Clazz.defineMethod(c$,"quote",
75 function(s){
76 var sb=new StringBuffer().append("\\Q");
77 var apos=0;
78 var k;
79 while((k=s.indexOf("\\E",apos))>=0){
80 sb.append(s.substring(apos,k+2)).append("\\\\E\\Q");
81 apos=k+2;
82 }
83 return sb.append(s.substring(apos)).append("\\E").toString();
84 },"~S");
85 Clazz.makeConstructor(c$,
86 ($fz=function(){
87 },$fz.isPrivate=true,$fz));
88 Clazz.defineStatics(c$,
89 "UNIX_LINES",1,
90 "CASE_INSENSITIVE",2,
91 "COMMENTS",4,
92 "MULTILINE",8,
93 "LITERAL",16,
94 "DOTALL",32,
95 "UNICODE_CASE",64,
96 "CANON_EQ",128,
97 "flagsBitMask",239);
98 });