Return-Path: Mailing-List: contact cocoon-cvs-help@xml.apache.org; run by ezmlm Delivered-To: mailing list cocoon-cvs@xml.apache.org Delivered-To: moderator for cocoon-cvs@xml.apache.org Received: (qmail 60044 invoked by uid 1038); 26 May 2000 07:13:40 -0000 Date: 26 May 2000 07:13:40 -0000 Message-ID: <20000526071340.60043.qmail@locus.apache.org> From: ricardo@locus.apache.org To: xml-cocoon-cvs@apache.org Subject: cvs commit: xml-cocoon/xdocs xsp-internals.xml ricardo 00/05/26 00:13:40 Modified: xdocs Tag: xml-cocoon2 xsp-internals.xml Log: Added javadoc links Revision Changes Path No revision No revision 1.1.2.2 +169 -53 xml-cocoon/xdocs/Attic/xsp-internals.xml Index: xsp-internals.xml =================================================================== RCS file: /home/cvs/xml-cocoon/xdocs/Attic/xsp-internals.xml,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- xsp-internals.xml 2000/05/26 06:20:25 1.1.2.1 +++ xsp-internals.xml 2000/05/26 07:13:39 1.1.2.2 @@ -121,8 +121,11 @@ - Despite its particular usage for XSP, ProgramGenerator is not - restricted to run in a server pages environment. + Despite its particular usage for XSP, + + ProgramGenerator + + is not restricted to run in a server pages environment. @@ -130,14 +133,19 @@

As a rule, XSP pages are translated into Cocoon - Generator's. + + Generator's. +

Generator's created by XSP are invoked exclusively through - ServerPagesGenerator, a proxy that uses Cocoon's - ProgramGenerator + + ServerPagesGenerator, + + a proxy that uses Cocoon's + ProgramGenerator component to load pages and subsequently delegates actual SAX event generation to them.

@@ -150,11 +158,14 @@ ProgramGenerator, on the other hand, refers to a Cocoon component responsible for building and executing programs derived from XML documents containing dynamic markup: - org.apache.cocoon.components.language.generator.ProgramGenerator + + org.apache.cocoon.components.language.generator.ProgramGenerator +

- ServerPagesGenerator attempts to cope with a not unlikely + ServerPagesGenerator + attempts to cope with a not unlikely possibility: premature termination of proxied generator execution. "Premature" here means that the invoked generator may return after @@ -236,16 +247,24 @@ Rhino Javascript), XSP pages are translated into classes extending - AbstractServerPage. + + AbstractServerPage. + This class, in turn, extends - ComposerGenerator, + + ComposerGenerator, + which gives it access to commonly used components such as parser or cocoon itself (typically used as EntityResolver for request URI's).

- AbstractServerPage implements Modifiable. This + AbstractServerPage implements + + Modifiable. + + This is tested by ProgramGenerator to assert whether the page has been invalidated as a result of files it depends on having changed on disk. These files are typically @@ -258,7 +277,9 @@ will be based on Donald Ball's (possibly extended) - XIncludeFilter. + + XIncludeFilter. +

@@ -293,7 +314,11 @@

- A Cocoon's ProgrammingLanguage processor exposes the + A Cocoon's + + ProgrammingLanguage + + processor exposes the following methods:

@@ -315,9 +340,9 @@
  • getCodeFormatter Return an (optional) instance of - - CodeFormatter - + + CodeFormatter + used to beautify source code written in this programming language
  • quoteString @@ -326,11 +351,13 @@

    - A default implementation (AbstractProgrammingLanguage) is + A default implementation ( + AbstractProgrammingLanguage + ) is provided that extends - + AbstractNamedComponent - + and retrieves language-related sitemap parameters.

    @@ -426,7 +453,9 @@

    - The base class AbstractProgrammingLanguage implements + The base class + AbstractProgrammingLanguage + implements this method as final to delete the unloaded source program file and delegate actual unloading to method doUnload. @@ -490,12 +519,17 @@

    - Programming languages may provide a CodeFormatter + Programming languages may provide a + + CodeFormatter + instance used by code generators to beautify source code.

    - Interface CodeGenerator exposes a single method: + Interface + CodeFormatter + exposes a single method: formatCode. formatCode takes as arguments a String containing the source code to be beautified and an encoding to be preserved @@ -548,7 +582,10 @@

    - A default implementation (CompiledProgrammingLanguage) + A base implementation + + (CompiledProgrammingLanguage) + is provided that adds the following protected variables and abstract/overridable methods:

    @@ -586,8 +623,7 @@ - . . . + class="org.apache.cocoon.components.language.programming.java.JavaLanguage"> . . . . . . @@ -612,7 +648,7 @@

    - Compilation is delegated to a sitemap-defined + Compilation is delegated to a sitemap-specified LanguageCompiler instance, as explained below.

    @@ -620,7 +656,11 @@

    - Interface LanguageCompiler defines the + Interface + + LanguageCompiler + + defines the initialization and behavior for all compilers.

    @@ -662,7 +702,11 @@

    - Class CompilerError exposes the following + Class + + CompilerError + + exposes the following methods:

    @@ -705,7 +749,9 @@

    Both of these compilers are based on - AbstractJavaCompiler. + + AbstractJavaCompiler. +

    @@ -761,7 +807,9 @@

    To circumvent standard Java class loaders limitation, Cocoon provides a simple customized class loader + (RepositoryClassLoader) + that features:

    @@ -782,7 +830,10 @@

    Access to protected RepositoryClassLoader class - is proxied through interface ClassLoaderManager. + is proxied through interface + + ClassLoaderManager. + This interface exposes the following methods:

    @@ -799,7 +850,11 @@

    - Class ClassLoaderManagerImpl implements + Class + + ClassLoaderManagerImpl + + implements ClassLoaderManager in a singleton-like fashion that ensures that only one instance of this class loader exists, thus ensuring the reinstantiation mechanism works properly. @@ -887,7 +942,12 @@

    - A Cocoon's MarkupLanguage processor exposes the + A Cocoon's + + MarkupLanguage + + processor exposes the following methods:

    @@ -906,8 +966,16 @@

    A base markup language processor implementation is provided in - class AbstractMarkupLanguage. This class extends - AbstractNamedComponent to set the markup language's + class + + AbstractMarkupLanguage. + + This class extends + + AbstractNamedComponent + + to set the markup language's associated namespace using the following required parameters:

    @@ -1012,7 +1080,11 @@

    - Logicsheets are represented in class Logichseet. This + Logicsheets are represented in class + + Logichseet. + + This class exposes the following methods:

    @@ -1064,7 +1136,11 @@

    - Class NamedLogicsheet extends Logicsheet + Class + + NamedLogicsheet + + extends Logicsheet to associate it with a namespace. This class exposes the following additional methods:

    @@ -1115,11 +1191,16 @@

    Code generation as such (i.e., the final production of a string containing a source program written in a programming language) is - the responsibility of class CodeGenerator. + the responsibility of class LogicsheetCodeGenerator.

    - The CodeGenerator exposes the following methods: + Class + + LogicsheetCodeGenerator + + exposes the following methods:

      @@ -1134,9 +1215,10 @@

    - Though "regular" logicsheets do not emit source code as such, - CogeGenerator expects its last stylesheet - to produce a single element containing only text. + Though "regular" logicsheets as such do not emit source code, + LogicshetCodeGenerator expects its last + stylesheet to produce a single element containing only + a text node.

    @@ -1151,9 +1233,9 @@

    - CodeGenerator is currently implemented as a class. - It should be defined as an interface in order to the decouple the - code generator abstraction from its logicsheet-based implementation. + LogicsheetCodeGenerator is currently implemented as a + class. It should be defined as an interface in order to the decouple + the code generator abstraction from its logicsheet-based implementation. This would allow for alternative code-generation strategies to be plugged. @@ -1244,7 +1326,11 @@ Method getEncoding is implemented by class - XSPMarkupLanguage by retrieving the attribute named + + XSPMarkupLanguage + + by retrieving the attribute named encoding in the root <xsp:page> element. @@ -1362,7 +1448,11 @@

    - The ProgramGenerator interface exposes a single + The + + ProgramGenerator + + interface exposes a single load method that takes as arguments a File pointing to a source XML document, as well as a markup and programming language name pair. @@ -1398,8 +1488,15 @@

    A default implementation of ProgramGenerator - is provided that uses a FilesystemStore as - repository: ProgramGeneratorImpl. + is provided that uses a + + FilesystemStore + + as + repository: + + ProgramGeneratorImpl. +

    @@ -1481,12 +1578,18 @@

    In order to support pluggable markup and programming languages, a new abstraction was added to Cocoon's arch - core interfaces: NamedComponent's. + core interfaces: + + NamedComponent. +

    Interface NamedComponent is simply an extension to - Component that exposes a getName() + + Component + + that exposes a getName() method.

    @@ -1497,7 +1600,11 @@

    - A NamedComponentManager is a component responsible + A + + NamedComponentManager + + is a component responsible for storing and locating NamedComponent instances. This interface exposes the following methods:

    @@ -1516,12 +1623,21 @@

    A default implementation is provided for this interface: - NamedComponentManagerImpl. + + NamedComponentManagerImpl. +

    - Class AbstractNamedComponent provides a base implementation - for NamedComponent that extends Configurable. + Class + + AbstractNamedComponent + + provides a base implementation + for NamedComponent that extends + + Configurable. + This class exposes the following methods: