文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java2HTML改造手记(3) (转)

2023-06-03 04:19

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

Ja Java2HTML改造手记(3)

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

先重点看这个:

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;

  }

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


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯