Java2HTML改造手记(3)(转)-创新互联

Java2HTML改造手记(3) (转)[@more@]

Ja Java2HTML改造手记(3)

XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,做网站、网站制作,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为上千家服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!

先重点看这个:

public static void main(String args[])

{

  ……………….

  java2html = new Java2HTML();

  o01 = new O01(args);

  ……………….

}

参数又跳转到o01上了.那么我们继续,没办法,逆向工程是需要耐心的.

// source File Name:  O01.java

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];

}

看来这里没有作什么,那么我们回到java2html.java文件继续往下看:

public static void main(String args[])

{

…………………..

java2html = new Java2HTML();

  o01 = new O01(args);

  //这里就是了

  if(!o01.O04(java2html))

  {

    return;

  }

  ………………….

}

原来调用了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;

  }

欲知后事如何,且听下回分解.



当前标题:Java2HTML改造手记(3)(转)-创新互联
分享网址:http://scyanting.com/article/gdgeh.html