All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class epp.Epp

java.lang.Object
   |
   +----epp.Epp

public class Epp
extends Object
クラス Epp は、 EPP main routine を定義するクラスです。.

epp というコマンドをシェルのコマンドラインから実行すると、 まず、 EPP main routine というプログラムが動きます。 EPP main routine は、まずコマンドラインの引数で指定されたオプションの 解釈を行ないます。 その後、指定されたファイルのタイムスタンプの比較を行ない、 展開すべきファイルを選び出して、それぞれの展開処理を行ないます。

ファイルを処理する手順は、次のようになります。 まず、ファイルを一度スキャンして、 #epp コマンドで指定された plug-in の リストを作ります。 そして、「標準の Java プリプロセッサ」を構成する system mixin と、 #epp コマンドで指定された system mixin をすべてつなぎ合わせ、 1つのクラスを構築します。(このクラスは、 Java のクラスではなく Ld-2 の クラスです。) そして、構築されたクラスのインスタンスを1つ作成し、 初期化メソッドを呼び出すことによって、ファイルの変換処理を開始します。

plug-in は、クラス Epp の挙動を拡張することはできません。 そのかわり、 main routine の挙動を拡張する手段として、 クラス Epp のサブクラスを作り、それを起動する方法があります。 そのことを想定して、クラス Epp のほとんどのメソッドは、 non-static メソッドとして定義されています。


Constructor Index

 o Epp()

Method Index

 o allOptions()
 o checkEppoutDirectory()
 o collectEppCommands(String)
 o collectInputFileNames(String, Vector)
 o eppCommandUsage(EppInputStream)
 o eppMain(String[])
main から呼び出される、実質的な main routine です。.
 o eppMainRoutineError(String)
 o error(String)
ユーザによるエラーが発生した時に呼び出すメソッドです。.
 o fatal(String)
致命的エラーが生じた時に呼び出すメソッドです。.
 o getClassNameFromFileName(String)
"foo/bar/File.java" のようなファイル名から、 "File" というクラス名を 取り出す utility です。.
 o globalEpp(String[])
 o importantOptions()
 o isGeneratedFile(String)
path で指定されたファイルが、「EPP か javac によって生成されたファイル」 ならば true 、そうでないなら、 false を返します。.
 o loadDefaultConfiguration()
 o main(String[])
epp コマンドが起動されると呼び出されるメソッドです。.
 o makeEppGlobalProcessor()
 o makeEppObject(String, String, Object[][])
 o makeEppPreProcessor(String, String)
 o makeFileInfo(String, Obj, Hashtable, DVenv)
 o makeInputFileNameList(String[], int)
 o parseEppCommand(EppInputStream, Vector)
 o parseOption(String[], int)
 o printAllOptions()
 o printUsage()
 o processFiles(String[], int)
 o processFilesAndCatchEppUserError(String[], int)
 o processPhase1(FileInfo)
 o processPhase2(FileInfo)
 o separateEpp(String[])
 o skipComment(EppInputStream)
 o skipSpace(EppInputStream)

Constructors

 o Epp
 public Epp()

Methods

 o main
 public static void main(String argv[])
epp コマンドが起動されると呼び出されるメソッドです。. このメソッドは、次のように実装されており、 実質的な main routine である eppMain を呼び出します。
    new Epp().eppMain(argv);

See Also:
eppMain
 o eppMain
 public void eppMain(String argv[])
main から呼び出される、実質的な main routine です。.

See Also:
main
 o parseOption
 public int parseOption(String argv[],
                        int argp)
 o printUsage
 public void printUsage()
 o printAllOptions
 public void printAllOptions()
 o importantOptions
 public String[] importantOptions()
 o allOptions
 public String[] allOptions()
 o checkEppoutDirectory
 public void checkEppoutDirectory()
 o processFilesAndCatchEppUserError
 public void processFilesAndCatchEppUserError(String argv[],
                                              int argp)
 o processFiles
 public void processFiles(String argv[],
                          int argp)
 o makeInputFileNameList
 public String[] makeInputFileNameList(String argv[],
                                       int argp)
 o collectInputFileNames
 public void collectInputFileNames(String inputFileName,
                                   Vector names)
 o globalEpp
 public void globalEpp(String inputFileNames[])
 o makeEppGlobalProcessor
 public FileInfo makeEppGlobalProcessor()
 o separateEpp
 public void separateEpp(String inputFileNames[])
 o makeEppPreProcessor
 public FileInfo makeEppPreProcessor(String inputFileName,
                                     String outputFileName)
 o processPhase1
 public void processPhase1(FileInfo fileInfo)
 o processPhase2
 public void processPhase2(FileInfo fileInfo)
 o makeEppObject
 public FileInfo makeEppObject(String inputFileName,
                               String outputFileName,
                               Object eppCommands[][])
 o makeFileInfo
 public FileInfo makeFileInfo(String inputFileName,
                              Obj preprocessor,
                              Hashtable classTable,
                              DVenv env)
 o loadDefaultConfiguration
 public void loadDefaultConfiguration()
 o collectEppCommands
 public Object[][] collectEppCommands(String inputFileName)
 o parseEppCommand
 public void parseEppCommand(EppInputStream in,
                             Vector commands)
 o eppCommandUsage
 public Error eppCommandUsage(EppInputStream in)
 o skipSpace
 public void skipSpace(EppInputStream in)
 o skipComment
 public void skipComment(EppInputStream in)
 o eppMainRoutineError
 public Error eppMainRoutineError(String str)
 o getClassNameFromFileName
 public static String getClassNameFromFileName(String inputFileName)
"foo/bar/File.java" のようなファイル名から、 "File" というクラス名を 取り出す utility です。.

 o isGeneratedFile
 public static boolean isGeneratedFile(String path)
path で指定されたファイルが、「EPP か javac によって生成されたファイル」 ならば true 、そうでないなら、 false を返します。. これが true ならば、 EPP はこのファイルを安全に overwrite してもよいと 判断します。

See Also:
emit1
 o error
 public static Error error(String str)
ユーザによるエラーが発生した時に呼び出すメソッドです。. 入力プログラム中のシンタックスエラーなど、 EPP および EPP plug-in の ユーザ(普通の Java プログラマー)が原因となる場合のエラーです。 このメソッドは、 EppUserError を throw します。

例外 EppUserError は通常、 EPP のエラーリカバリ機構によって catch され処理されます。

See Also:
error, fatal
 o fatal
 public static Error fatal(String str)
致命的エラーが生じた時に呼び出すメソッドです。. 致命的エラーとは、EPP 本体のバグ、 EPP plug-in のバグ、 EPP plug-in 同士の衝突などが原因と思われるエラーです。 普通、次のようにして使います。
	throw Epp.fatal("message");
このメソッドは、次のように定義されています。
  public static Error fatal(String str){
    return new Error("EPP FATAL: "+ str);
  }

See Also:
error

All Packages  Class Hierarchy  This Package  Previous  Next  Index