XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
先重點(diǎn)看這個(gè):
public static void main(String args[])
{
……………….
java2html = new Java2HTML();
o01 = new O01(args);
……………….
}
參數(shù)又跳轉(zhuǎn)到o01上了.那么我們繼續(xù),沒辦法,逆向工程是需要耐心的.
// source File Name: O01.java
成都創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
package com.java2html;
import java.io.File;
import java.io.PrintStream;
import java.util.Vector;
// Referenced classes of package com.java2html:
// BadOptionException, Java2HTML, JavaDoc, O07
public class O01
{
private String O02[];
private boolean O03[];
O01(String as[])
{
O02 = as;
O03 = new boolean[as.length];
}
boolean O04(Java2HTML java2html)
throws BadOptionException
{
if(O02.length == 0 || O06(new String[] {
"help", "h", "?", "/?"
}))
{
System.out.println(O07.O08);
return false;
}
String as[] = O010(new String[] {
"name", "n"
}, false, 1);
if(as.length == 1)
{
java2html.setTitle(as[0]);
}
java2html.setFooter(O06(new String[] {
"nofooter", "nf"
}));
java2html.setFooter(O06(new String[] {
"noheader", "nh"
}));
java2html.setSimple(O06(new String[] {
"simple", "s"
}));
int ai[] = O012(new String[] {
"margin", "m"
}, false, 1);
if(ai.length == 1)
{
java2html.setMarginSize(ai[0]);
}
int ai1[] = O012(new String[] {
"tabs", "t"
}, false, 1);
if(ai1.length == 1)
{
java2html.setTabSize(ai1[0]);
}
String as1[] = O010(new String[] {
"destination", "d"
}, false, 1);
if(as1.length == 1)
{
java2html.setDestination(as1[0]);
}
String as2[] = O010(new String[] {
"javasource", "js"
}, false, -1);
if(as2.length > 0)
{
java2html.setJavaDirectorySource(as2);
}
JavaDoc ajavadoc[] = O017(new String[] {
"javadoc", "jd"
});
if(ajavadoc.length > 0)
{
java2html.setJavaDoc(ajavadoc);
}
O018();
return true;
}
private boolean O06(String as[])
throws BadOptionException
{
int i = 0;
int j = 0;
boolean flag = false;
for(; i < O02.length; i++)
{
for(int k = 0; k < as.length; k++)
{
if(!O02[i].equalsIgnoreCase("-" + as[k]))
{
continue;
}
O03[i] = true;
if(j >= 1)
{
throw new BadOptionException(as[0] + " should only be set once");
}
j++;
flag = true;
break;
}
}
return flag;
}
private String[] O010(String as[], boolean flag, int i)
throws BadOptionException
{
int j = 0;
int k = 0;
Vector vector = new Vector();
for(; j < O02.length; j++)
{
for(int l = 0; l < as.length; l++)
{
if(!O02[j].equalsIgnoreCase("-" + as[l]))
{
continue;
}
O03[j] = true;
j++;
if(k == i)
{
throw new BadOptionException(as[0] + " should only be set " + i + " time(s)");
}
if(j >= O02.length)
{
throw new BadOptionException("Value not set for " + as[0]);
}
O03[j] = true;
vector.addElement(O02[j]);
k++;
break;
}
}
if(flag && k == 0)
{
throw new BadOptionException(as[0] + " needs to be set");
} else
{
return O026(vector);
}
}
private int[] O012(String as[], boolean flag, int i)
throws BadOptionException
{
int j = 0;
int k = 0;
Vector vector = new Vector();
for(; j < O02.length; j++)
{
for(int l = 0; l < as.length; l++)
{
if(!O02[j].equalsIgnoreCase("-" + as[l]))
{
continue;
}
O03[j] = true;
j++;
if(k == i)
{
throw new BadOptionException(as[0] + " should only be set " + i + " time(s)");
}
if(j >= O02.length)
{
throw new BadOptionException("Value not set for " + as[0]);
}
O03[j] = true;
vector.addElement(O02[j]);
k++;
break;
}
}
if(flag && k == 0)
{
throw new BadOptionException(as[0] + " needs to be set");
}
int ai[] = null;
try
{
ai = O028(vector);
}
catch(Exception _ex)
{
throw new BadOptionException(as[0] + " must be a number");
}
return ai;
}
public JavaDoc[] O017(String as[])
throws BadOptionException
{
int i = 0;
int j = 0;
Vector vector = new Vector();
for(; i < O02.length; i++)
{
for(int k = 0; k < as.length; k++)
{
if(!O02[i].equalsIgnoreCase("-" + as[k]))
{
continue;
}
O03[i] = true;
if(++i >= O02.length)
{
throw new BadOptionException("Value not set for " + as[0]);
}
O03[i] = true;
JavaDoc javadoc = null;
File file = new File(O02[i]);
String s = null;
if(i + 1 < O02.length && !O02[i + 1].startsWith("-"))
{
i++;
if(!O02[i].startsWith("http://"))
{
throw new BadOptionException("Second Parameter of -jd/-javadoc option must start with 'http://'");
}
s = O02[i];
O03[i] = true;
}
if(s != null)
{
javadoc = new JavaDoc(file, s);
} else
{
javadoc = new JavaDoc(file);
}
vector.addElement(javadoc);
j++;
break;
}
}
JavaDoc ajavadoc[] = new JavaDoc[vector.size()];
for(int l = 0; l < vector.size(); l++)
{
ajavadoc[l] = (JavaDoc)vector.elementAt(l);
}
return ajavadoc;
}
private String[] O026(Vector vector)
{
String as[] = new String[vector.size()];
for(int i = 0; i < vector.size(); i++)
{
as[i] = (String)vector.elementAt(i);
}
return as;
}
private int[] O028(Vector vector)
{
int ai[] = new int[vector.size()];
for(int i = 0; i < vector.size(); i++)
{
ai[i] = Integer.parseInt((String)vector.elementAt(i));
}
return ai;
}
public void O018()
throws BadOptionException
{
for(int i = 0; i < O03.length; i++)
{
if(!O03[i])
{
throw new BadOptionException("Unkown Argument :" + O02[i]);
}
}
}
}
找到這里:
O01(String as[])
{
O02 = as;
O03 = new boolean[as.length];
}
看來這里沒有作什么,那么我們回到j(luò)ava2html.java文件繼續(xù)往下看:
public static void main(String args[])
{
…………………..
java2html = new Java2HTML();
o01 = new O01(args);
//這里就是了
if(!o01.O04(java2html))
{
return;
}
………………….
}
原來調(diào)用了o01.O04方法.看看:
boolean O04(Java2HTML java2html)
throws BadOptionException
{
if(O02.length == 0 || O06(new String[] {
"help", "h", "?", "/?"
}))
{
System.out.println(O07.O08);
return false;
}
String as[] = O010(new String[] {
"name", "n"
}, false, 1);
if(as.length == 1)
{
java2html.setTitle(as[0]);
}
java2html.setFooter(O06(new String[] {
"nofooter", "nf"
}));
java2html.setFooter(O06(new String[] {
"noheader", "nh"
}));
java2html.setSimple(O06(new String[] {
"simple", "s"
}));
int ai[] = O012(new String[] {
"margin", "m"
}, false, 1);
if(ai.length == 1)
{
java2html.setMarginSize(ai[0]);
}
int ai1[] = O012(new String[] {
"tabs", "t"
}, false, 1);
if(ai1.length == 1)
{
java2html.setTabSize(ai1[0]);
}
String as1[] = O010(new String[] {
"destination", "d"
}, false, 1);
if(as1.length == 1)
{
java2html.setDestination(as1[0]);
}
String as2[] = O010(new String[] {
"javasource", "js"
}, false, -1);
if(as2.length > 0)
{
java2html.setJavaDirectorySource(as2);
}
JavaDoc ajavadoc[] = O017(new String[] {
"javadoc", "jd"
});
if(ajavadoc.length > 0)
{
java2html.setJavaDoc(ajavadoc);
}
O018();
return true;
}