chg: replaced ant with gradle

This commit is contained in:
Tobi Schäfer 2020-03-16 16:53:52 +01:00
parent ced560f0c7
commit 7eebeee1d0
615 changed files with 87626 additions and 638 deletions

16
.editorconfig Normal file
View file

@ -0,0 +1,16 @@
# EditorConfig is awesome: https://EditorConfig.org
root = true
[*]
end_of_line = lf
indent_size = 2
indent_style = spaces
insert_final_newline = true
trim_trailing_whitespace = true
[*.java]
indent_size = 4
[*.md]
trim_trailing_whitespace = false

31
.gitignore vendored
View file

@ -1,13 +1,20 @@
apps*
!apps/manage
classes/*
db*
dist
docs
launcher.jar
lib/helma*.jar
lib/ext
log/*
passwd
server.properties
.gradle
.settings
build
/apps
/bin
/backups
/db
/docs
/extras
/lib
/log
/static
/*.properties
/launcher.jar
/passwd
/start.*
!/gradle.properties

3
.gitmodules vendored
View file

@ -1,3 +0,0 @@
[submodule "modules/jala"]
path = modules/jala
url = git@github.com:antville/jala.git

37
LICENSE.md Normal file
View file

@ -0,0 +1,37 @@
# License
Copyright (c) 1999-2008 Helma Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Products derived from this software may not be called "Helma"
or "Hop", nor may "Helma" or "Hop" appear in their name, without
prior written permission of the Helma Project Group. For written
permission, please contact helma@helma.org.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Helma includes third party software released under different specific
license terms. See the licenses directory in the Helma distribution
for a list of these licenses.

View file

@ -1,4 +0,0 @@
# List of apps to start.
test

View file

@ -1,14 +1,86 @@
allprojects {
apply plugin: 'java'
defaultTasks 'jar'
apply plugin: 'application'
ant.importBuild 'build.xml'
tasks.jar.dependsOn 'mkjar'
compileJava {
dependsOn 'processSource'
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
}
// FIXME: start scripts are not working, yet
startScripts {
mainClassName = 'helma.main.launcher.Main'
applicationName = 'helma'
classpath = files('launcher.jar')
}
task processSource(type: Sync) {
def date = new Date().format("MMMM dd, yyyy")
def gitOutput = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe'
standardOutput = gitOutput
errorOutput = new ByteArrayOutputStream()
ignoreExitValue = true
}
def description = date
def tag = gitOutput.toString().trim()
if (tag) description = "$tag; $description"
from 'src'
filter {
line -> line.replaceAll('__builddate__', date)
} into "${project.buildDir}/src"
}
}
version = new Date().format("yyyyMMdd")
distributions {
main {
contents {
from project(':launcher').jar
}
}
}
applicationDistribution.from(projectDir) {
include 'modules/**'
include 'LICENSE.md'
include 'README.md'
include 'start.*'
}
applicationDistribution.from(javadoc.destinationDir) {
include '**'
into 'docs'
}
sourceSets {
main {
java {
srcDirs = ["$buildDir/src/main/java"]
exclude '**/package.html', '**/main/launcher/**'
}
}
}
repositories {
mavenCentral()
jcenter()
}
configurations {
// Wrapping implementation because it does not allow access to its files
// (i.e. cannot be resolved)
library.extendsFrom implementation
}
dependencies {
implementation 'commons-codec:commons-codec:1.10'
implementation 'commons-fileupload:commons-fileupload:1.4'
@ -25,7 +97,76 @@ dependencies {
implementation 'xmlrpc:xmlrpc:2.0.1'
}
task deps(type: Copy) {
from configurations.compileClasspath
into 'lib/'
distTar {
compression = Compression.GZIP
}
installDist {
dependsOn javadoc
finalizedBy 'update'
}
run {
classpath = files('launcher.jar')
args '-w', '8080'
args '-x', '8081'
args '-i', projectDir
args '-h', projectDir
jvmArgs '-Dorg.eclipse.jetty.LEVEL=WARN'
}
task shell(type: JavaExec) {
def rhinoJar = configurations.library.files.find { f ->
f.name.startsWith('rhino')
}
// if (environment.get('TERM') != 'dumb') {
// println 'Run this task with `TERM=dumb ./gradlew shell` to get rid of the progress output'
// }
classpath = files(rhinoJar)
main = 'org.mozilla.javascript.tools.shell.Main'
standardInput = System.in
}
task commandline(type: JavaExec) {
classpath = files('launcher.jar')
main = 'helma.main.launcher.Commandline'
args '-h', projectDir, 'manage.getAllApplications'
}
task update {
def rsyncArgs = ['-a', '--info=progress2', '--exclude', 'backups']
def confirm = {
ant.input(message: 'Update this installation?', validargs: 'y,n', addproperty: 'continue')
return ant.continue == 'y'
}
onlyIf { confirm() }
doFirst {
def backupDir = 'backups/' + new Date().format('yyyyMMdd-HHmmss')
mkdir backupDir
exec {
// Using rsync instead of a CopyTask because the latter chokes on multi-byte characters
// See https://github.com/gradle/gradle/issues/789
executable 'rsync'
args rsyncArgs
args "$projectDir/", backupDir
}
}
doLast {
exec {
// Using rsync instead of installDist task because it does not overwrite the project directory
executable 'rsync'
args rsyncArgs
args '--exclude', 'bin'
args "${installDist.destinationDir}/", projectDir
}
}
}

480
build.xml
View file

@ -1,480 +0,0 @@
<?xml version="1.0"?>
<project name="Helma" default="usage" basedir=".">
<!-- =================================================================== -->
<!-- Initializes some variables -->
<!-- =================================================================== -->
<target name="init">
<property name="Name" value="helma"/>
<property name="year" value="1998-${year}"/>
<property name="version" value="1.7.3"/>
<property name="project" value="helma"/>
<property name="home.dir" value="."/>
<property name="build.dir" value="${home.dir}/build"/>
<property name="build.src" value="${home.dir}/src"/>
<property name="build.lib" value="${home.dir}/lib"/>
<property name="build.classes" value="${home.dir}/classes"/>
<property name="build.docs" value="${home.dir}/docs"/>
<property name="build.javadocs" value="${home.dir}/docs/api"/>
<property name="build.externals" value="${build.dir}/externals"/>
<property name="build.work" value="${home.dir}/work"/>
<property name="build.dist" value="${home.dir}/dist"/>
<property name="jar.name" value="${project}"/>
<property name="package.name" value="${project}-${version}"/>
<property name="core.name" value="${project}-core-${version}"/>
<property name="debug" value="on"/>
<property name="optimize" value="on"/>
<property name="deprecation" value="off"/>
<property name="build.jsdocs" value="${home.dir}/docs/framework"/>
<property name="jsdoc" value="${home.dir}/work/reference/templates/jsdoc.pl"/>
<path id="build.class.path">
<fileset dir="${home.dir}/lib">
<exclude name="**/helma*.jar" />
<include name="**/*.jar" />
</fileset>
</path>
<tstamp/>
<filter token="year" value="${year}"/>
<filter token="version" value="${version}"/>
<filter token="date" value="${TODAY}"/>
</target>
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<target name="help" depends="usage" />
<target name="usage">
<echo message=""/>
<echo message=""/>
<echo message="Helma build instructions"/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=" available targets are:"/>
<echo message=""/>
<echo message=" compile --> compiles the source code to ./classes"/>
<echo message=" mkjar --> generates the ./lib/helma-YYYYMMDD.jar file"/>
<echo message=" javadocs --> generates the API docs"/>
<echo message=" jsdocs --> generates the framework docs"/>
<!--<echo message=" docs -> tries to retrieve the HTML documentation "/> -->
<!--<echo message=" (may need proxy settings in startscript)"/> -->
<echo message=" package --> generates the distribution (zip and tar.gz)"/>
<echo message=" app [name] --> gets an application from svn and zips it"/>
<echo message=" module [name] --> gets a module from svn and zips it"/>
<echo message=" core --> generates core for production updates (zip and tar.gz)"/>
<echo message=" mkclean --> clean up temporary build directories and files"/>
<echo message=""/>
<echo message=" usage --> provides help on using the build tool (default)"/>
<echo message=""/>
<echo message=" See comments inside the build.xml file for more details."/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=""/>
</target>
<!-- =================================================================== -->
<!-- Compiles the source directory -->
<!-- =================================================================== -->
<target name="compile" depends="init">
<mkdir dir="${build.classes}"/>
<!-- copy the imageio file -->
<copy file="${build.src}/META-INF/services/javax.imageio.spi.ImageWriterSpi"
todir="${build.classes}/META-INF/services"/>
<!-- copy helma db style sheet -->
<copy file="${build.src}/helma/objectmodel/dom/helma.xsl"
todir="${build.classes}/helma/objectmodel/dom" />
<!-- copy source files over to work directory -->
<delete dir="${build.work}/src" quiet="true"/>
<mkdir dir="${build.work}/src" />
<copy todir="${build.work}/src" overwrite="true">
<fileset dir="${build.src}" includes="**/*.java"/>
</copy>
<replace file="${build.work}/src/helma/main/Server.java"
token="__builddate__" value="${TODAY}"/>
<javac srcdir="${build.work}/src"
source="6"
target="6"
destdir="${build.classes}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"
includeAntRuntime="no">
<classpath refid="build.class.path" />
</javac>
<delete dir="${build.work}/src"/>
</target>
<!-- =================================================================== -->
<!-- Creates a helma.jar file (snapshot) in the lib-directory -->
<!-- =================================================================== -->
<target name="mkjar" depends="compile">
<jar jarfile="${build.lib}/${jar.name}-${DSTAMP}.jar"
basedir="${build.classes}"
excludes="**/package.html,**/main/launcher/**"/>
<jar jarfile="${home.dir}/launcher.jar"
basedir="${build.classes}"
includes="**/main/launcher/**"
manifest="${build.src}/helma/main/launcher/manifest.txt"/>
<!-- Copy timestamped helma jar file to lib/helma.jar -->
<copy file="${build.lib}/${jar.name}-${DSTAMP}.jar"
tofile="${build.lib}/${jar.name}.jar"/>
</target>
<!-- =================================================================== -->
<!-- Creates the javadoc API documentation -->
<!-- =================================================================== -->
<target name="javadocs" depends="init">
<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="helma.*"
sourcepath="${build.src}"
destdir="${build.javadocs}"
author="false"
private="false"
version="false"
windowtitle="${Name} ${version} API"
doctitle="${Name} ${version} API"
bottom="Copyright &#169; ${year} Helma.org. All Rights Reserved."
classpathref="build.class.path"
/>
</target>
<!-- =================================================================== -->
<!-- Create the jsdoc Framework documentation -->
<!-- =================================================================== -->
<target name="jsdocs" depends="init, package-modules">
<!-- add a copy of the reference -->
<mkdir dir="${build.work}/reference"/>
<copy todir="${build.work}/reference">
<fileset dir="${build.externals}/reference"/>
</copy>
<!-- add a copy of the modules -->
<mkdir dir="${build.work}/reference/modules"/>
<copy todir="${build.work}/reference/modules">
<fileset dir="${build.externals}/modules/"/>
</copy>
<mkdir dir="${build.jsdocs}"/>
<java dir="${home.dir}" fork="true" jar="${build.lib}/rhino.jar">
<sysproperty key="jsdoc.dir" value="work/reference"/>
<arg value="work/reference/app/run.js"/>
<arg value="-t=work/reference/templates"/>
<arg value="-d=docs/framework"/>
<arg value="-r=3"/>
<arg value="work/reference/coreEnvironment"/>
<arg value="work/reference/coreExtensions"/>
<arg value="work/reference/modules"/>
</java>
<delete dir="${build.work}/reference" />
</target>
<!-- =================================================================== -->
<!-- Get the documentation (currently can fail due to request time-out -->
<!-- or missing support for proxies) -->
<!-- =================================================================== -->
<!-- <target name="docs" depends="init"> -->
<!-- <get src="http://www.helma.org/docs/reference/print" -->
<!-- dest="${build.docs}/reference.html" -->
<!-- ignoreerrors="true" -->
<!-- /> -->
<!-- </target> -->
<!-- =================================================================== -->
<!-- Builds and packages only the core for the deployment and updating -->
<!-- of production environments -->
<!-- =================================================================== -->
<target name="core" depends="init, mkjar">
<mkdir dir="${build.work}"/>
<!-- copy all libraries except helma-YYYYMMDD.jar -->
<copy todir="${build.work}/lib">
<fileset dir="${home.dir}/lib">
<exclude name="**/helma-*.jar" />
<include name="**/*.jar" />
</fileset>
</copy>
<!-- copy the launcher jar and start files-->
<copy file="${home.dir}/launcher.jar" todir="${build.work}/lib"/>
<!-- create lib/ext directory -->
<mkdir dir="${build.work}/lib/ext"/>
<!-- copy the license files -->
<copy todir="${build.work}/licenses">
<fileset dir="${home.dir}/licenses" excludes="**/.svn**"/>
</copy>
<copy file="${home.dir}/license.txt" todir="${build.work}/licenses"/>
<!-- zip up the whole thing -->
<antcall target="package-zip">
<param name="filename" value="${core.name}"/>
</antcall>
<antcall target="package-tgz">
<param name="filename" value="${core.name}"/>
</antcall>
<!-- clean up -->
<delete dir="${build.work}"/>
</target>
<!-- =================================================================== -->
<!-- Creates the full helma distribution -->
<!-- =================================================================== -->
<target name="package" depends="init">
<mkdir dir="${build.work}"/>
<!-- checkout the demo apps (and zip manage-app) -->
<antcall target="package-apps" />
<!-- generate the framework and modules documentation -->
<antcall target="jsdocs" />
<!-- create the main part of helma -->
<antcall target="package-raw">
<param name="distribution" value="main" />
</antcall>
<chmod perm="755">
<fileset dir="${build.work}">
<include name="start.sh"/>
</fileset>
</chmod>
<!-- zip up the whole thing -->
<antcall target="package-zip">
<param name="filename" value="${package.name}"/>
</antcall>
<antcall target="package-tgz">
<param name="filename" value="${package.name}"/>
</antcall>
<!-- make the src distributions -->
<antcall target="javadocs"/>
<antcall target="package-src-zip">
<param name="filename" value="${package.name}"/>
</antcall>
<antcall target="package-src-tgz">
<param name="filename" value="${package.name}"/>
</antcall>
<!-- clean up -->
<delete dir="${build.work}"/>
</target>
<!-- =================================================================== -->
<!-- Compile Helma and prepare the skeleton in a temporary directory. -->
<!-- Used by package . -->
<!-- =================================================================== -->
<target name="package-raw" depends="init, mkjar">
<!-- copy the framework (apps.props, server.props, hop/db, hop/static) -->
<copy todir="${build.work}">
<fileset dir="${build.dir}/${distribution}" excludes="**/.svn**"/>
</copy>
<!-- copy the launcher jar and start files -->
<copy file="${home.dir}/launcher.jar" todir="${build.work}/"/>
<copy file="${home.dir}/start.sh" todir="${build.work}"/>
<copy file="${home.dir}/start.bat" todir="${build.work}"/>
<!-- copy README.txt -->
<copy file="${home.dir}/README.txt" todir="${build.work}/"/>
<!-- copy the whole docs-directory -->
<copy todir="${build.work}/docs">
<fileset dir="${build.docs}"/>
</copy>
<!-- copy all libraries except helma-YYYYMMDD.jar -->
<copy todir="${build.work}/lib">
<fileset dir="${home.dir}/lib">
<exclude name="**/helma-*.jar" />
<include name="**/*.jar" />
</fileset>
</copy>
<!-- create lib/ext directory -->
<mkdir dir="${build.work}/lib/ext"/>
<!-- copy the license files -->
<copy todir="${build.work}/licenses">
<fileset dir="${home.dir}/licenses" excludes="**/.svn**"/>
</copy>
<copy file="${home.dir}/license.txt" todir="${build.work}/licenses"/>
<!-- copy the scripts directory -->
<copy todir="${build.work}/scripts">
<fileset dir="${home.dir}/scripts" excludes="**/.svn**"/>
</copy>
<!-- zip the sourcecode -->
<!-- mkdir dir="${build.work}/src"/>
<tar tarfile="${build.work}/src/helma-src.tar" basedir="${build.src}/">
<tarfileset dir="${build.src}">
<include name="${build.src}/**"/>
</tarfileset>
</tar>
<gzip zipfile="${build.work}/src/helma-src.tar.gz" src="${build.work}/src/helma-src.tar"/>
<delete file="${build.work}/src/helma-src.tar"/ -->
</target>
<!-- =================================================================== -->
<!-- Checkout demo apps, put them in work directory and zip manage app -->
<!-- =================================================================== -->
<target name="package-apps" depends="init">
<mkdir dir="${build.work}/apps" />
<!-- add a copy of the welcome app -->
<mkdir dir="${build.work}/apps/welcome"/>
<copy todir="${build.work}/apps/welcome">
<fileset dir="${build.externals}/welcome"/>
</copy>
<mkdir dir="${build.work}/apps/manage"/>
<zip zipfile="${build.work}/apps/manage/manage.zip" basedir="${build.externals}/manage/"
includes="**" excludes="**/properties,readme/**" />
<copy todir="${build.work}/apps/manage">
<fileset dir="${build.externals}/manage" includes="app.properties,class.properties,readme.txt"/>
</copy>
<!-- delete dir="${build.work}/manage" /-->
</target>
<!-- =================================================================== -->
<!-- Checkout modules including helmaTools -->
<!-- =================================================================== -->
<target name="package-modules" depends="init">
<!-- add a copy of the modules -->
<mkdir dir="${build.work}/modules"/>
<copy todir="${build.work}/modules">
<fileset dir="${build.externals}/modules"/>
</copy>
<mkdir dir="${build.work}/modules"/>
<zip zipfile="${build.work}/modules/helmaTools.zip" basedir="${build.externals}/helmaTools/"
includes="**" excludes="**/*.txt, **/*.html, **/*.bat, **/*.sh" />
<!--delete dir="${build.work}/helmaTools" /-->
</target>
<!-- =================================================================== -->
<!-- Packages the work directory with TAR-GZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-tgz" depends="init">
<mkdir dir="${build.dist}" />
<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin" />
<tar tarfile="${build.dist}/${filename}.tar" basedir="${build.work}" excludes="**">
<tarfileset prefix="${filename}" dir="${build.work}" mode="755">
<include name="start.sh"/>
</tarfileset>
<tarfileset prefix="${filename}" dir="${build.work}">
<include name="**"/>
<exclude name="start.sh"/>
<exclude name="lib/apache-dom.jar"/>
<exclude name="docs/api/**"/>
</tarfileset>
</tar>
<gzip zipfile="${build.dist}/${filename}.tar.gz" src="${build.dist}/${filename}.tar"/>
<delete file="${build.dist}/${filename}.tar"/>
</target>
<!-- =================================================================== -->
<!-- Packages the work directory with ZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-zip" depends="init">
<mkdir dir="${build.dist}" />
<fixcrlf srcdir="${build.work}" eol="crlf" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin, **/*.xml" />
<zip zipfile="${build.dist}/${filename}.zip">
<zipfileset dir="${build.work}" prefix="${filename}">
<include name="**"/>
<exclude name="start.sh"/>
<exclude name="lib/apache-dom.jar"/>
<exclude name="docs/api/**"/>
</zipfileset>
</zip>
</target>
<!-- =================================================================== -->
<!-- Packages Helma src and build directories with TAR-GZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-src-tgz" depends="init">
<mkdir dir="${build.dist}" />
<tar tarfile="${build.dist}/${filename}-src.tar">
<tarfileset prefix="${filename}" dir="${home.dir}">
<include name="src/**"/>
<include name="build/**"/>
<include name="build.xml"/>
<include name="docs/**"/>
<include name="licenses/**"/>
<include name="license.txt"/>
<include name="lib/apache-dom.jar"/>
<exclude name="docs/modules/**"/>
</tarfileset>
</tar>
<gzip zipfile="${build.dist}/${filename}-src.tar.gz" src="${build.dist}/${filename}-src.tar"/>
<delete file="${build.dist}/${filename}-src.tar"/>
</target>
<!-- =================================================================== -->
<!-- Packages Helma src and build directories with ZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-src-zip" depends="init">
<mkdir dir="${build.dist}" />
<zip zipfile="${build.dist}/${filename}-src.zip">
<zipfileset dir="${home.dir}" prefix="${filename}">
<include name="src/**"/>
<include name="build/**"/>
<include name="build.xml"/>
<include name="docs/**"/>
<include name="licenses/**"/>
<include name="license.txt"/>
<include name="lib/apache-dom.jar"/>
<exclude name="docs/modules/**"/>
</zipfileset>
</zip>
</target>
<!-- =================================================================== -->
<!-- Cleans up temporary build directories -->
<!-- =================================================================== -->
<target name="mkclean" depends="init">
<delete dir="${build.work}" />
<delete dir="${build.classes}" />
<delete dir="${build.docs}"/>
<delete dir="${build.dist}"/>
<delete file="${home.dir}/launcher.jar" quiet="true"/>
<delete>
<fileset dir="${build.lib}" includes="${jar.name}*.jar"/>
</delete>
</target>
</project>

View file

@ -1,38 +0,0 @@
_This is the README file for the Helma build files as part of the Helma Object Publisher._
## Prerequisites
The Helma build script is using Apache Ant.
For more information about Ant, see <http://ant.apache.org/>.
## Building
The build system is started by invoking the shell script appropriate to your
platform, ie. build.sh for *nix (Linux, NetBSD etc.) and build.bat for Windows
systems. You probably need to modify the script and set the `JAVA_HOME` to fit your system.
The generic syntax is
ant target
The parameter `target` specifies one of the build targets listed below.
## Build Targets
**compile**
Compiles the source files into the `./classes` directory (which will be created if necessary).
**jar**
Creates a helma.jar file (snapshot) in the lib directory. The file is named `helma-yyyymmdd.jar`.
**javadocs**
Creates the JavaDoc API documentation.
**package**
Creates the full Helma distribution packages and places them in the dist directory.
**app [name]**
Gets an application from the source code repository, zips / targzs it and places the files in the dist directory.
**module [name]**
Gets a module from the source code repository, zips it and places the file in the dist directory.

1
gradle.properties Normal file
View file

@ -0,0 +1 @@
org.gradle.console = plain

Binary file not shown.

View file

@ -1,6 +1,5 @@
#Sun Dec 04 13:10:15 CET 2016
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-bin.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip
zipStoreBase=GRADLE_USER_HOME

18
launcher/build.gradle Normal file
View file

@ -0,0 +1,18 @@
sourceSets {
main {
java {
srcDirs = ["${rootProject.buildDir}/src/main/java"]
include '**/main/launcher/**'
}
}
}
jar {
manifest {
from "${rootProject.projectDir}/src/main/java/helma/main/launcher/manifest.txt"
}
}
task copyJars(type: Copy) {
from jar into "${rootProject.projectDir}"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,37 +0,0 @@
Copyright (c) 1999-2008 Helma Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Products derived from this software may not be called "Helma"
or "Hop", nor may "Helma" or "Hop" appear in their name, without
prior written permission of the Helma Project Group. For written
permission, please contact helma@helma.org.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Helma includes third party software released under different specific
license terms. See the licenses directory in the Helma distribution
for a list of these licenses.

@ -1 +0,0 @@
Subproject commit 24e7b11100365cd7ab1d23c757c3b4a2379af223

37
modules/jala/README.md Normal file
View file

@ -0,0 +1,37 @@
_This is the README file for version 1.2 of the Jala Javascript Library._
# About Jala
Jala is an open-source collection of JavaScript modules for Helma Object Publisher. Copyright 2004 ORF Online und Teletext GmbH, Vienna (Austria). You can find more information about each module in the API Documentation located in the `docs` directory.
## Licensing
Jala itself is licensed under the Apache 2.0 License, but parts of Jala require third party libraries coming with different licenses. You can find all necessary information in the `licenses` directory.
## Installation
Move the Jala folder into the `modules` directory of your Helma installation. To include a certain Jala module simply add the following line to your Helma application's source code (replace `[name]` with the desired module name):
app.addRepository("./modules/jala/code/[name].js");
If you want to include the whole Jala package at once, you can use the `all` module for convenience:
app.addRepository("./modules/jala/code/all.js");
Alternatively, you can import the Jala module from within Helma's
`apps.properties` file (replace `[appName]` with the name of your Helma application, `[n]` with a number between 0 and 9 and `[moduleName]` with the desired module
name):
[appName].respository.[n] = ./modules/jala/code/[moduleName].js
More information about the `addRepository()` method and generally including repositories in a Helma application is available at
http://helma.org/stories/77712/.
## Contact, Bugs and Feedback
The Jala Project is hosted at https://dev.orf.at/jala/ providing all necessary information about Subversion access, Ticketing, Releases etc.
Although we encourage you to post your questions and comments as ticket, we also provide a mailing list for convenience (details at
https://dev.orf.at/trac/jala/wiki/MailingList).
For immediate contact you can reach the developers via jaladev AT gmail.com.

View file

@ -0,0 +1,7 @@
## build properties for jsdoc api documentation
## all paths *must* be relative to the directory where
## this file is located
docs.source = ./code
docs.destination = ./docs
docs.projectName = Jala 1.3

View file

@ -0,0 +1 @@
Jala is a <a href="http://helma.org">Helma</a>-based library and utility project initially developed to ease the work at <a href="http://orf.at">ORF.at</a>'s software development department.

View file

@ -0,0 +1,175 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.AsyncRequest class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Creates a new AsyncRequest instance.
* @class This class is used to create requests of type "INTERNAL"
* (like cron-jobs) that are processed in a separate thread and
* therefor asynchronous.
* @param {Object} obj Object in whose context the method should be called
* @param {String} funcName Name of the function to call
* @param {Array} args Array containing the arguments that should be passed
* to the function (optional). This option is <em>deprecated</em>, instead
* pass the arguments directly to the {@link #run} method.
* @constructor
* @returns A new instance of AsyncRequest
* @type AsyncRequest
* @deprecated Use the {@link http://helma.zumbrunn.net/reference/core/app.html#invokeAsync
* app.invokeAsync} method instead (built-in into Helma as
* of version 1.6)
*/
jala.AsyncRequest = function(obj, funcName, args) {
app.logger.warn("Use of jala.AsyncRequest is deprecated in this version.");
app.logger.warn("This module will probably be removed in a " +
"future version of Jala.");
/**
* Contains a reference to the thread started by this AsyncRequest
* @type java.lang.Thread
* @private
*/
var thread;
/**
* Contains the timeout defined for this AsyncRequest (in milliseconds)
* @type Number
* @private
*/
var timeout;
/**
* Contains the number of milliseconds to wait before starting
* the asynchronous request.
* @type Number
* @private
*/
var delay;
/**
* Run method necessary to implement java.lang.Runnable.
* @private
*/
var runner = function() {
// evaluator that will handle the request
var ev = app.__app__.getEvaluator();
if (delay != null) {
java.lang.Thread.sleep(delay);
}
try {
if (args === undefined || args === null || args.constructor != Array) {
args = [];
}
if (timeout != null) {
ev.invokeInternal(obj, funcName, args, timeout);
} else {
ev.invokeInternal(obj, funcName, args);
}
} catch (e) {
// ignore it, but log it
app.log("[Runner] Caught Exception: " + e);
} finally {
// release the ev in any case
app.__app__.releaseEvaluator(ev);
// remove reference to underlying thread
thread = null;
}
return;
};
/**
* Sets the timeout of this asynchronous request.
* @param {Number} seconds Thread-timeout.
*/
this.setTimeout = function(seconds) {
timeout = seconds * 1000;
return;
};
/**
* Defines the delay to wait before evaluating this asynchronous request.
* @param {Number} millis Milliseconds to wait
*/
this.setDelay = function(millis) {
delay = millis;
return;
};
/**
* Starts this asynchronous request. Any arguments passed to
* this method will be passed to the method executed by
* this AsyncRequest instance.
*/
this.run = function() {
if (arguments.length > 0) {
// convert arguments object into array
args = Array.prototype.slice.call(arguments, 0, arguments.length);
}
thread = (new java.lang.Thread(new java.lang.Runnable({"run": runner})));
thread.start();
return;
};
/**
* Starts this asynchronous request.
* @deprecated Use {@link #run} instead
*/
this.evaluate = function() {
this.run.apply(this, arguments);
return;
};
/**
* Returns true if the underlying thread is alive
* @returns True if the underlying thread is alive,
* false otherwise.
* @type Boolean
*/
this.isAlive = function() {
return thread != null && thread.isAlive();
}
/** @ignore */
this.toString = function() {
return "[jala.AsyncRequest]";
};
/**
* Main constructor body
*/
if (!obj || !funcName)
throw "jala.AsyncRequest: insufficient arguments.";
return this;
}

View file

@ -0,0 +1,429 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.BitTorrent class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Module dependencies
*/
app.addRepository("modules/core/String.js");
app.addRepository("modules/helma/File.js");
/**
* Constructs a new BitTorrent file.
* @class This class provides methods to create a BitTorrent
* metadata file from any desired file.
* @param {String} trackerUrl The URL string of the tracker.
* @param {String} filePath The path to the original file.
* @returns A new BitTorrent file.
* @constructor
*/
jala.BitTorrent = function(filePath, trackerUrl) {
var self = this;
self.arguments = arguments;
// FIXME: Add support for multitracker mode as specified in
// http://www.bittornado.com/docs/multitracker-spec.txt
var torrent, sourceFile, torrentFile;
var pieceLength = 256;
var updateTorrent = function() {
if (torrent.info) {
return torrent;
}
var file = new java.io.File(filePath);
if (!file.exists()) {
throw Error("File " + file + " does not exist!");
}
var md5 = java.security.MessageDigest.getInstance("MD5");
var sha1 = java.security.MessageDigest.getInstance("SHA-1");
var fis = new java.io.FileInputStream(file);
var bis = new java.io.BufferedInputStream(fis);
var cache = new java.io.ByteArrayOutputStream();
var pieces = [];
var length = pieceLength * 1024;
var buffer = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, length);
while (bis.read(buffer, 0, buffer.length) > -1) {
app.debug("Updating SHA-1 hash with " + buffer.length + " bytes");
sha1.reset();
sha1["update(byte[])"](buffer);
cache["write(byte[])"](buffer);
pieces.push(new java.lang.String(sha1.digest()));
}
bis.close();
fis.close();
torrent.info = {
//md5sum: new java.lang.String(md5.digest(cache.toByteArray())),
length: cache.size(),
name: file.getName(),
"piece length": length,
pieces: pieces.join("")
};
return torrent;
};
/**
* Get all available property names.
* @returns The list of property names.
* @type Array
*/
this.keys = function() {
var keys = [];
for (var i in torrent) {
keys.push(i);
}
keys.sort();
return keys;
};
/**
* Get a torrent property.
* @param {String} name The name of the property.
* @returns The value of the property.
*/
this.get = function(name) {
return torrent[name];
};
/**
* Set a torrent property.
* @param {String} name The name of the property.
* @param {Object} value The property's value.
*/
this.set = function(name, value) {
if (typeof torrent[name] == "undefined") {
throw Error("Cannot set torrent property " + name);
}
torrent[name] = value;
delete torrent.info;
return;
};
/**
* Get the creation date of the torrent.
* @returns The torrent's creation date.
* @type Date
*/
this.getCreationDate = function() {
return new Date(torrent["creation date"] * 1000);
};
/**
* Set the creation date of the torrent.
* @param {Date} date The desired creation date.
*/
this.setCreationDate = function(date) {
this.set("creation date", Math.round((date || new Date()).getTime() / 1000));
return;
};
/**
* Get the piece length of the torrent.
* @returns The torrent's piece length.
* @type Number
*/
this.getPieceLength = function() {
return pieceLength;
};
/**
* Set the piece length of the torrent.
* @param {Number} length The desired piece length.
*/
this.setPieceLength = function(length) {
pieceLength = length;
delete torrent.info;
return;
};
/**
* Returns the underlying torrent file.
* @returns The torrent file.
* @type helma.File
*/
this.getTorrentFile = function() {
return torrentFile;
};
/**
* Returns the underlying source file.
* @returns The source file.
* @type helma.File
*/
this.getSourceFile = function() {
return sourceFile;
};
/**
* Saves the torrent as file.
* @param {String} filename An optional name for the torrent file.
* If no name is given it will be composed from name of source
* file as defined in the torrent plus the ending ".torrent".
*/
this.save = function(filename) {
updateTorrent();
if (!filename) {
filename = torrent.info.name + ".torrent";
}
torrentFile = new helma.File(sourceFile.getParent(), filename);
torrentFile.remove();
torrentFile.open();
torrentFile.write(jala.BitTorrent.bencode(torrent));
torrentFile.close();
return;
};
/**
* Get a string representation of the torrent.
* @returns The torrent as string.
* @type String
*/
this.toString = function() {
return "[jala.BitTorrent " + filePath + "]";
};
if (String(filePath).endsWith(".torrent")) {
torrentFile = new helma.File(filePath);
torrent = jala.BitTorrent.bdecode(torrentFile.readAll());
sourceFile = new helma.File(torrent.info.name);
} else {
torrent = {
announce: trackerUrl || null,
"announce-list": null,
"creation date": null,
comment: null,
"created by": null,
};
this.setCreationDate();
sourceFile = new helma.File(filePath);
}
return this;
};
/**
* The bencode method. Turns an arbitrary JavaScript
* object structure into a corresponding encoded
* string.
* @param {Object} obj The target JavaScript object.
* @returns The encoded string.
* @type String
*/
jala.BitTorrent.bencode = function(obj) {
var bencode = arguments.callee;
var str = obj.toString();
res.push();
switch (obj.constructor) {
case Array:
res.write("l");
for (var i in obj) {
if (obj[i])
res.write(bencode(obj[i]));
}
res.write("e");
break;
case Number:
res.write("i" + str + "e");
break;
case Object:
res.write("d");
var keys = [];
for (var i in obj) {
keys.push(i);
}
keys.sort();
var key;
for (var i in keys) {
key = keys[i];
if (obj[key]) {
res.write(bencode(key));
res.write(bencode(obj[key]));
}
}
res.write("e");
break;
default:
res.write(str.length + ":" + str);
}
return res.pop();
};
/**
* The bdecode method. Turns an encoded string into
* a corresponding JavaScript object structure.
* FIXME: Handle with caution...
* @param {String} code The encoded string.
* @returns The decoded JavaScript structure.
* @type Object
*/
jala.BitTorrent.bdecode = function(code) {
var DICTIONARY = "d";
var LIST = "l";
var INTEGER = "i";
var STRING = "s";
var END = "e";
var stack = [];
var overflowCounter = 0;
var position = -1, current;
function getResult() {
update();
var result;
switch (current) {
case DICTIONARY:
result = bdecodeDictionary();
break;
case LIST:
result = bdecodeList();
break;
case INTEGER:
result = bdecodeInteger();
break;
case END:
case null:
//res.debug("*** end detected in getResult()");
result = null;
break;
default:
result = bdecodeString();
}
return result;
}
function update() {
position += 1;
current = code.charAt(position);
/* res.debug("stack: " + stack);
res.debug("position: " + position);
res.debug("current: " + current);
res.debug("remains: " + code.substr(position)); */
return;
}
function overflow() {
if (overflowCounter++ > 100)
throw Error("Error parsing bdecoded string");
return false;
}
function bdecodeDictionary() {
stack.push(DICTIONARY);
var dictionary = {}, key, value;
while (current && !overflow()) {
key = getResult();
if (key === null)
break;
value = getResult();
if (key && value)
dictionary[key] = value;
else
break;
}
stack.pop();
return dictionary;
}
function bdecodeList() {
stack.push(LIST);
var list = [], value;
while (current && !overflow()) {
var value = getResult();
if (value)
list.push(value);
else
break;
}
stack.pop();
return list;
}
function bdecodeInteger() {
var integer = "";
stack.push(integer);
while (current && !overflow()) {
update();
if (current == "e")
break;
integer += current;
}
if (isNaN(integer))
throw("Error in bdecoded integer: " + integer + " is not a number");
//res.debug("integer = " + integer);
stack.pop();
return parseInt(integer);
}
function bdecodeString() {
var length = current, string = "";
stack.push(string);
update();
while (current && current != ":" && !overflow()) {
length += current;
update();
}
if (isNaN(length))
throw("Error in bdecoded string: invalid length " + length);
//res.debug("length = " + length);
length = parseInt(length);
if (length > code.length - position)
throw Error("Error parsing bdecoded string");
for (var i=0; i<length; i+=1) {
update();
string += current;
}
//res.debug("string = " + string);
if (string == "creation date")
void(null);
stack.pop();
return string;
}
return getResult();
};

View file

@ -0,0 +1,119 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.Captcha class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Construct a new captcha.
* @returns A new captcha.
* @class Wrapper class for the
* {@link http://jcaptcha.sourceforge.net/ JCaptcha library}.
* A captcha (an acronym for "completely automated public
* Turing test to tell computers and humans apart") is a
* type of challenge-response test used in computing to
* determine whether or not the user is human.
* @constructor
*/
jala.Captcha = function() {
/**
* Jala dependencies
*/
app.addRepository(getProperty("jala.dir", "modules/jala") +
"/lib/jcaptcha-all-1.0-RC3.jar");
var gimpy;
try {
var ref = Packages.com.octo.captcha.engine.image.gimpy;
gimpy = ref.DefaultGimpyEngine();
} catch(e) {
throw("Cannot instantiate object due to missing java class: " +
arguments.callee.toString());
}
var captcha = gimpy.getNextCaptcha();
/**
* Get a new captcha object.
* @returns A new captcha object.
* @type com.octo.captcha.Captcha
*/
this.getCaptcha = function getCaptcha() {
return captcha;
};
/**
* Render a new captcha image.
*/
this.renderImage = function renderImage() {
var image = captcha.getImageChallenge();
var stream = new java.io.ByteArrayOutputStream();
var ref = Packages.com.sun.image.codec.jpeg.JPEGCodec;
var encoder = ref.createJPEGEncoder(stream);
encoder.encode(image);
res.contentType = "image/jpeg";
res.writeBinary(stream.toByteArray());
return;
};
/**
* Validate a user's input with the prompted captcha.
* @param {String} input The user's input.
* @returns True if the user's input matches the captcha.
* @type Boolean
*/
this.validate = function validate(input) {
return !input || captcha.validateResponse(input);
};
return this;
};
/**
* Get a string representation of the captcha class.
* @returns A string representation of the capthca class.
* @type String
* @ignore
*/
jala.Captcha.toString = function toString() {
return "[jala.Captcha http://jcaptcha.sourceforge.net]";
};
/**
* Get a string representation of the captcha object.
* @returns A string representation of the captcha object.
* @type String
*/
jala.Captcha.prototype.toString = function toString() {
return "[jala.Captcha Object]";
};

File diff suppressed because it is too large Load diff

545
modules/jala/code/Date.js Normal file
View file

@ -0,0 +1,545 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.Date class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* HelmaLib dependencies
*/
app.addRepository("modules/core/Date.js");
app.addRepository("modules/helma/Html.js");
/**
* Constructs a new Renderings object.
* @class This class provides various convenience
* methods for rendering purposes.
* @constructor
*/
jala.Date = function() {
return this;
};
/**
* Renders a timestamp as set of DropDown boxes, following the
* format passed as argument. Every &lt;select&gt;
* item is prefixed with a string so that it can be retrieved
* easily from the values of a submitted POST request.
* @param {String} prefix The prefix to use for all dropdown boxes, eg. "postdate"
* @param {Date} date A Date object to use as preselection (optional)
* @param {Object} fmt Array containing one parameter object for every single
* select box that should be rendered, with the following properties set:
* <ul>
* <li>pattern - The date format pattern that should be rendered. Valid
* patterns are: "dd", "MM", "yyyy", "HH", "ss".</li>
* <li>firstOption - The string to use as first option, eg.: "choose a day"</li>
* </ul>
*/
jala.Date.prototype.renderEditor = function(prefix, date, fmt) {
/**
* rendering method
* @private
*/
var render = function(param, date) {
switch (param.pattern) {
case "dd":
param.offset = 1;
param.max = 31;
param.selected = (date ? date.getDate() : null);
break;
case "MM":
param.offset = 1;
param.max = 12;
param.selected = (date ? date.getMonth() +1 : null);
break;
case "yyyy":
param.offset = 2002;
param.max = 20;
param.selected = (date ? date.getFullYear() : null);
break;
case "HH":
param.offset = 0;
param.max = 24;
param.selected = (date ? date.getHours() : null);
break;
case "mm":
param.offset = 0;
param.max = 60;
param.selected = (date ? date.getMinutes() : null);
break;
case "ss":
param.offset = 0;
param.max = 60;
param.selected = (date ? date.getSeconds() : null);
break;
}
var key = prefix + ":" + param.pattern;
if (req.data[key])
param.selected = req.data[key];
var options = [];
var opt;
for (var i=0;i<param.max;i++) {
opt = (param.offset + i).format("00");
options[i] = [opt, opt];
}
var html = new helma.Html();
html.dropDown({name: key}, options, param.selected, param.firstOption);
}
if (!fmt)
var fmt = [{pattern: "dd", firstOption: "day"},
{pattern: "MM", firstOption: "month"},
{pattern: "yyyy", firstOption: "year"},
{pattern: "HH", firstOption: "hour"},
{pattern: "mm", firstOption: "minute"}];
for (var i in fmt) {
render(fmt[i], date);
}
return;
};
/**
* Returns a timestamp as set of dropdown-boxes
* @see #renderEditor
* @type String
*/
jala.Date.prototype.renderEditorAsString = function(prefix, date, pattern) {
res.push();
this.renderEditor(prefix, date, pattern);
return res.pop();
};
/**
* Creates a new instance of jala.Data.Calendar
* @class This class represents a calendar based based on a grouped
* collection of HopObjects. It provides several methods for rendering
* the calendar plus defining locale and timezone settings.
* @param {HopObject} collection A grouped HopObject collection to work on
* @returns A newly created jala.Date.Calendar instance
* @constructor
*/
jala.Date.Calendar = function(collection) {
var renderer = null;
var locale = java.util.Locale.getDefault();
var timezone = java.util.TimeZone.getDefault();
var hrefFormat = "yyyyMMdd";
var accessNameFormat = "yyyyMMdd";
/**
* Returns the collection this calendar object works on
* @returns The HopObject collection of this calendar
* @type HopObject
*/
this.getCollection = function() {
return collection;
};
/**
* Sets the renderer to use.
* @param {Object} r The renderer to use
* @see #getRenderer
*/
this.setRenderer = function(r) {
renderer = r;
return;
};
/**
* Returns the renderer used by this calendar.
* @returns The calendar renderer
* @type Object
* @see #setRenderer
*/
this.getRenderer = function() {
if (!renderer) {
renderer = new jala.Date.Calendar.Renderer(this);
}
return renderer;
};
/**
* Sets the locale to use within this calendar object
* @param {java.util.Locale} loc The locale to use
* @see #getLocale
*/
this.setLocale = function(loc) {
locale = loc;
return;
};
/**
* Returns the locale used within this calendar instance. By default
* the locale used by this calendar is the default locale of the
* Java Virtual Machine running Helma.
* @returns The locale of this calendar
* @type java.util.Locale
* @see #setLocale
*/
this.getLocale = function() {
return locale;
};
/**
* Sets the locale to use within this calendar object
* @param {java.util.Locale} loc The locale to use
* @see #getTimeZone
*/
this.setTimeZone = function(tz) {
timezone = tz;
return;
};
/**
* Returns the locale used within this calendar instance. By default
* the timezone used by this calendar is the default timezone
* of the Java Virtual Machine running Helma.
* @returns The locale of this calendar
* @type java.util.Locale
* @see #setTimeZone
*/
this.getTimeZone = function() {
return timezone;
};
/**
* Sets the format of the hrefs to render by this calendar
* to the format pattern passed as argument.
* @param {String} fmt The date format pattern to use for
* rendering the href
* @see #getHrefFormat
*/
this.setHrefFormat = function(fmt) {
hrefFormat = fmt;
return;
};
/**
* Returns the date formatting pattern used to render hrefs. The default
* format is "yyyyMMdd".
* @returns The date formatting pattern
* @type String
* @see #setHrefFormat
*/
this.getHrefFormat = function() {
return hrefFormat;
};
/**
* Sets the format of the group name to use when trying to access
* child objects of the collection this calendar is operating on.
* @param {String} fmt The date format pattern to use for
* accessing child objects
* @see #getAccessNameFormat
*/
this.setAccessNameFormat = function(fmt) {
accessNameFormat = fmt;
return;
};
/**
* Returns the format of the access name used by this calendar to access
* child group objects of the collection this calendar is operating on.
* The default format is "yyyyMMdd".
* @returns The date formatting pattern used to access child objects
* @type String
* @see #setAccessNameFormat
*/
this.getAccessNameFormat = function() {
return accessNameFormat;
};
return this;
};
/** @ignore */
jala.Date.Calendar.prototype.toString = function() {
return "[Jala Calendar]";
};
/**
* Renders the calendar using either a custom renderer defined
* using {@link #setRenderer} or the default one.
* @see #setRenderer
* @see jala.Date.Calendar.Renderer
*/
jala.Date.Calendar.prototype.render = function(today) {
var renderer = this.getRenderer();
var collection = this.getCollection();
var hrefFormat = this.getHrefFormat();
var accessNameFormat = this.getAccessNameFormat();
var locale = this.getLocale();
var timezone = this.getTimeZone();
var size = collection.size();
if (size == null)
return;
/**
* private method that creates a date object set
* to the last date of the previous month or the
* first date of the next month (if available)
*/
var prevNextMonth = function(which, dayIndex) {
var obj;
if (which == "prev") {
if (size <= dayIndex || !(obj = collection.get(dayIndex +1)))
return;
} else if (which == "next") {
if (dayIndex == 0 || !(obj = collection.get(dayIndex - 1)))
return;
} else {
return;
}
return new Date(obj.groupname.substring(0, 4),
obj.groupname.substring(4, 6) -1,
obj.groupname.substring(6));
};
// create the calendar object used for date calculations
var cal = java.util.Calendar.getInstance(timezone, locale);
var firstDayOfWeek = cal.getFirstDayOfWeek();
var symbols = new java.text.DateFormatSymbols(locale);
res.push();
// render the header-row
res.push();
var weekdays = symbols.getShortWeekdays();
for (var i=0;i<7;i++) {
renderer.renderDayHeader(weekdays[(i+firstDayOfWeek-1)%7+1]);
}
renderer.renderRow(res.pop());
cal.set(java.util.Calendar.DATE, 1);
// check whether there's a day in path
// if so, use it to determine the month to render
if (today) {
cal.set(java.util.Calendar.YEAR, today.getFullYear());
cal.set(java.util.Calendar.MONTH, today.getMonth());
}
// nr. of empty days in rendered calendar before the first day of month appears
var pre = (7-firstDayOfWeek+cal.get(java.util.Calendar.DAY_OF_WEEK)) % 7;
var days = cal.getActualMaximum(java.util.Calendar.DATE);
var weeks = Math.ceil((pre + days) / 7);
var daycnt = 1;
var date = new Date(cal.get(java.util.Calendar.YEAR), cal.get(java.util.Calendar.MONTH), 1);
// remember the index of the first and last days within this month.
// this is needed to optimize previous and next month links.
var lastDayIndex = Number.MAX_VALUE;
var firstDayIndex = -1;
var dayObj, idx, selected;
for (var i=0;i<weeks;i++) {
res.push();
for (var j=0;j<7;j++) {
if ((i == 0 && j < pre) || daycnt > days) {
renderer.renderDay(null);
} else {
date.setDate(daycnt);
if ((dayObj = collection.get(date.format(accessNameFormat))) != null) {
idx = collection.contains(dayObj);
if (idx > -1) {
if (idx > firstDayIndex) {
firstDayIndex = idx;
}
if (idx < lastDayIndex) {
lastDayIndex = idx;
}
}
}
selected = (today != null) ? date.equals(today) : false;
renderer.renderDay(date, dayObj != null, selected);
daycnt++;
}
}
renderer.renderRow(res.pop());
}
var prevMonth = prevNextMonth("prev", firstDayIndex) || null;
var nextMonth = prevNextMonth("next", lastDayIndex) || null;
renderer.renderCalendar(date, res.pop(), prevMonth, nextMonth);
return;
};
/**
* Returns a rendered calendar
* @see #renderCalendar
* @type String
*/
jala.Date.Calendar.prototype.getCalendar = function(today) {
res.push();
this.render(today);
return res.pop();
};
/**
* Returns a new instance of the default calendar renderer.
* @class A default renderer to use in conjunction with jala.Date.Calendar
* @param {jala.Date.Calendar} calendar The calendar utilizing this renderer
* @returns A newly created instance of jala.Date.Calendar.Renderer
* @constructor
*/
jala.Date.Calendar.Renderer = function(calendar) {
/**
* An instance of helma.Html used for rendering the calendar
* @type helma.Html
*/
this.html = new helma.Html();
/**
* The calendar utilizing this renderer instance
* @type jala.Date.Calendar
*/
this.calendar = calendar;
return this;
};
/** @ignore */
jala.Date.Calendar.Renderer.prototype.toString = function() {
return "[Jala Calendar Default Renderer]";
};
/**
* Renders a single cell in the calendar day header row directly to response.
* @param {String} text The text to display in the header field.
*/
jala.Date.Calendar.Renderer.prototype.renderDayHeader = function(text) {
this.html.element("th", text);
return;
};
/**
* Renders a single calendar row directly to response.
* @param {String} row The body of the calendar row.
*/
jala.Date.Calendar.Renderer.prototype.renderRow = function(row) {
this.html.element("tr", row);
return;
};
/**
* Renders a single day within the calendar directly to response.
* @param {Date} date A date instance representing the day within the calendar.
* @param {Boolean} isExisting True if there is a child object in the calendar's
* collection to which the date cell should link to
* @param {Boolean} isSelected True if this calendar day should be rendered
* as selected day.
*/
jala.Date.Calendar.Renderer.prototype.renderDay = function(date, isExisting, isSelected) {
var attr = {"class": "jala-calendar-day day"};
if (isSelected === true) {
attr["class"] += " jala-calendar-selected selected";
}
this.html.openTag("td", attr);
if (date != null) {
var text = date.getDate();
if (isExisting === true) {
attr = {"href": this.calendar.getCollection().href() +
date.format(this.calendar.getHrefFormat())};
this.html.link(attr, text);
} else {
res.write(text);
}
}
this.html.closeTag("td");
return;
};
/**
* Renders a link to the previous or next month's calendar directly to response.
* @param {Date} date A date object set to the previous or next available
* month. This can be null in case there is no previous or next month.
*/
jala.Date.Calendar.Renderer.prototype.renderPrevNextLink = function(date) {
if (date != null) {
var attr = {"href": this.calendar.getCollection().href() +
date.format(this.calendar.getHrefFormat())};
this.html.link(attr, date.format("MMMM", this.calendar.getLocale()));
}
return;
};
/**
* Renders the calendar directly to response.
* @param {Date} date A date object representing this calendar's month and year.
* Please mind that the day will be set to the <em>last</em> date in this
* month.
* @param {String} body The rendered calendar weeks including the day header
* (basically the whole kernel of the table).
* @param {Date} prevMonth A date object set to the last available date of
* the previous month. This can be used to render a navigation link to
* the previous month.
* @param {Date} nextMonth A date object set to the first available date
* of the next month. This can be used to render a navigation link to
* the next month.
*/
jala.Date.Calendar.Renderer.prototype.renderCalendar = function(date, body, prevMonth, nextMonth) {
var locale = this.calendar.getLocale();
this.html.openTag("table", {"class": "jala-calendar calendar"});
this.html.openTag("thead");
this.html.openTag("tr");
this.html.openTag("th", {"colspan": 7});
res.write(date.format("MMMM", locale));
res.write(' ');
res.write(date.format("yyyy", locale));
this.html.closeTag("th");
this.html.closeTag("tr");
this.html.closeTag("thead");
this.html.element("tbody", body);
this.html.openTag("tfoot");
this.html.openTag("tr");
this.html.openTag("td", {"class": "jala-calendar-left left", "colspan": 3});
this.renderPrevNextLink(prevMonth);
this.html.closeTag("td");
this.html.openTag("td");
this.html.closeTag("td");
this.html.openTag("td", {"class": "jala-calendar-right right", "colspan": 3});
this.renderPrevNextLink(nextMonth);
this.html.closeTag("td");
this.html.closeTag("tr");
this.html.closeTag("tfoot");
this.html.closeTag("table");
return;
};
/**
* Default date class instance.
* @type jala.Date
* @final
*/
jala.date = new jala.Date();

View file

@ -0,0 +1,312 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.DnsClient class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Jala dependencies
*/
app.addRepository(getProperty("jala.dir", "modules/jala") +
"/lib/javadns.jar");
/**
* Constructs a new DnsClient object.
* @class This is a wrapper around the Dns Client by wonderly.org
* providing methods for querying Dns servers. For more information
* about the Java DNS client visit
* <a href="https://javadns.dev.java.net/">https://javadns.dev.java.net/</a>.
* Please mind that the nameserver specified must accept queries on port
* 53 TCP (the Java DNS client used doesn't support UDP nameserver queries),
* and that reverse lookups are not supported.
* @param {String} nameServer IP-Address or FQDN of nameserver to query
* @constructor
*/
jala.DnsClient = function(nameServer) {
/**
* Contains the IP Adress/FQDN of the name server to query.
* @type String
*/
this.nameServer = nameServer;
if (!this.nameServer) {
throw "jala.DnsClient: missing nameserver argument";
} else {
// test if required javadns library is available
try {
var clazz = java.lang.Class.forName("org.wonderly.net.dns.Query",
false, app.getClassLoader())
} catch (e) {
throw "jala.DnsClient requires JavaDNS.jar"
+ " in lib/ext or application directory "
+ "[https://javadns.dev.java.net/]";
}
}
return this;
};
/** @ignore */
jala.DnsClient.PKG = Packages.org.wonderly.net.dns;
/**
* The "A" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_A = jala.DnsClient.PKG.Question.TYPE_A;
/**
* The "CNAME" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_CNAME = jala.DnsClient.PKG.Question.TYPE_CNAME;
/**
* The "MX" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_MX = jala.DnsClient.PKG.Question.TYPE_MX;
/**
* The "NS" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_NS = jala.DnsClient.PKG.Question.TYPE_NS;
/**
* The "PTR" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_PTR = jala.DnsClient.PKG.Question.TYPE_PTR;
/**
* The "SOA" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_SOA = jala.DnsClient.PKG.Question.TYPE_SOA;
/**
* The "TXT" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_TXT = jala.DnsClient.PKG.Question.TYPE_TXT;
/**
* The "WKS" record/query type.
* @type Number
* @final
*/
jala.DnsClient.TYPE_WKS = jala.DnsClient.PKG.Question.TYPE_WKS;
/**
* Queries the nameserver for a specific domain
* and the given type of record.
* @param {String} dName The domain name to query for
* @param {Number} queryType The type of records to retrieve
* @returns The records retrieved from the nameserver
* @type org.wonderly.net.dns.RR
*/
jala.DnsClient.prototype.query = function(dName, queryType) {
if (dName == null) {
throw new Error("no domain-name to query for");
}
if (queryType == null) {
queryType = jala.DnsClient.TYPE_A;
}
// construct the question for querying the nameserver
var question = new jala.DnsClient.PKG.Question(dName,
queryType,
jala.DnsClient.PKG.Question.CLASS_IN);
// construct the query
var query = new jala.DnsClient.PKG.Query(question);
// run the query
query.runQuery(this.nameServer);
// wrap the records received in instances of jala.DnsClient.Record
var answers = query.getAnswers();
var arr = [];
for (var i=0;i<answers.length;i++) {
arr[i] = new jala.DnsClient.Record(answers[i]);
}
return arr;
};
/**
* Convenience method to query for the MX-records
* of the domain passed as argument.
* @param {String} dName The domain name to query for
* @returns The records retrieved from the nameserver
* @type org.wonderly.net.dns.RR
*/
jala.DnsClient.prototype.queryMailHost = function (dName) {
return this.query(dName, this.TYPE_MX);
};
/** @ignore */
jala.DnsClient.toString = function() {
return "[jala.DnsClient]";
};
/** @ignore */
jala.DnsClient.prototype.toString = function() {
return "[jala.DnsClient (" + this.nameServer + ")]";
};
/**
* Constructs a new instance of jala.DnsClient.Record.
* @class Instances of this class wrap record data as received
* from the nameserver.
* @param {org.wonderly.net.dns.RR} data The data as received from
* the nameserver
* @returns A newly constructed Record instance
* @constructor
*/
jala.DnsClient.Record = function(data) {
/**
* The type of the nameserver record represented by this Answer instance.
* @type Number
* @see #TYPE_A
* @see #TYPE_CNAME
* @see #TYPE_HINFO
* @see #TYPE_MX
* @see #TYPE_NS
* @see #TYPE_PTR
* @see #TYPE_SOA
* @see #TYPE_TXT
* @see #TYPE_WKS
*/
this.type = data.getType();
/**
* The name of the host. This will only be set for records
* of type A, AAAA and NS.
* @type String
* @see #TYPE_A
* @see #TYPE_AAAA
* @see #TYPE_NS
*/
this.host = null;
/**
* The IP address of the host. This will only be set for records
* of type A and AAAA
* @type String
* @see #TYPE_A
* @see #TYPE_AAAA
*/
this.ipAddress = null;
/**
* The CNAME of this record. This will only be set for records
* of type CNAME
* @type String
* @see #TYPE_CNAME
*/
this.cname = null;
/**
* The name of the mail exchanging server. This is only set for
* records of type MX
* @type String
* @see #TYPE_MX
*/
this.mx = null;
/**
* The email address responsible for a name server. This property
* will only be set for records of type SOA
* @type String
* @see #TYPE_SOA
*/
this.email = null;
/**
* Descriptive text as received from the nameserver. This is only
* set for records of type TXT
* @type String
* @see #TYPE_TXT
*/
this.text = null;
/**
* Returns the wrapped nameserver record data
* @returns The wrapped data
* @type org.wonderly.net.dns.RR
*/
this.getData = function() {
return data;
};
/**
* Main constructor body
*/
switch (data.getClass()) {
case jala.DnsClient.PKG.ARR:
case jala.DnsClient.PKG.AAAARR:
this.host = data.getHost();
this.ipAddress = data.getIPAddress();
break;
case jala.DnsClient.PKG.NSRR:
this.host = data.getHost();
break;
case jala.DnsClient.PKG.CNAMERR:
this.cname = data.getCName();
break;
case jala.DnsClient.PKG.MXRR:
this.mx = data.getExchanger();
break;
case jala.DnsClient.PKG.SOARR:
this.host = data.getNSHost();
this.email = data.getResponsibleEmail();
break;
case jala.DnsClient.PKG.TXTRR:
this.text = data.getText();
break;
default:
break;
}
return this;
};
/** @ignore */
jala.DnsClient.Record.prototype.toString = function() {
return "[jala.DnsClient.Record]";
};

2524
modules/jala/code/Form.js Normal file

File diff suppressed because it is too large Load diff

130
modules/jala/code/Global.js Normal file
View file

@ -0,0 +1,130 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the Global prototype.
*/
/**
* Returns true if the value passed as argument is either a string literal,
* an instance of String or of java.lang.String.
* @param {Object} val The value to test
* @returns True if the value is a string, false otherwise
* @type Boolean
*/
function isString(val) {
return typeof(val) == "string" ||
val instanceof java.lang.String ||
val instanceof String;
};
/**
* Returns true if the value passed as argument is either a boolean
* literal or an instance of Boolean.
* @param {Object} val The value to test
* @returns True if the value is a boolean, false otherwise
* @type Boolean
*/
function isBoolean(val) {
return typeof(val) == "boolean" ||
val instanceof Boolean;
};
/**
* Returns true if the value passed as argument is either a number,
* an instance of Number or of java.lang.Number.
* @param {Object} val The value to test
* @returns True if the value is a number, false otherwise
* @type Boolean
*/
function isNumber(val) {
return typeof(val) == "number" ||
val instanceof java.lang.Number ||
val instanceof Number;
};
/**
* Returns true if the value passed as argument is null.
* @param {Object} val The value to test
* @returns True if the value is null, false otherwise
* @type Boolean
*/
function isNull(val) {
return val === null;
};
/**
* Returns true if the value passed as argument is undefined.
* @param {Object} val The value to test
* @returns True if the value is undefined, false otherwise
* @type Boolean
*/
function isUndefined(val) {
return val === undefined;
};
/**
* Returns true if the value passed as argument is an array.
* @param {Object} val The value to test
* @returns True if the value is an array, false otherwise
* @type Boolean
*/
function isArray(val) {
return val instanceof Array;
};
/**
* Returns true if the value passed as argument is either a Javascript date
* or an instance of java.util.Date.
* @param {Object} val The value to test
* @returns True if the value is a date, false otherwise
* @type Boolean
*/
function isDate(val) {
return val instanceof Date ||
val instanceof java.util.Date;
};
/**
* Returns true if the value passed as argument is either a Javascript
* object or an instance of java.lang.Object.
* @param {Object} val The value to test
* @returns True if the value is an object, false otherwise
* @type Boolean
*/
function isObject(val) {
return val instanceof Object ||
val instanceof java.lang.Object;
};
/**
* Returns true if the value passed as argument is a function.
* @param {Object} val The value to test
* @returns True if the argument is a function, false otherwise
* @type Boolean
*/
function isFunction(val) {
return val instanceof Function;
};

View file

@ -0,0 +1,253 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.History class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Constructs a new History object.
* @class This class is an implementation of a Browser-like history
* stack suitable to use in any Helma application. The difference
* to a Browser's history is that this implementation ignores
* POST requests and checks if Urls in the stack are still valid to
* prevent eg. redirections to a HopObject's url that has been deleted.
* Plus it is capable to create new "intermediate" history-stacks
* and this way maintain a "history of histories" which is needed for
* eg. editing sessions in a popup window that should use their own
* request history without interfering with the history of the
* main window.
* @constructor
*/
jala.History = function() {
var MAX = 40;
/**
* Stack constructor
* @private
*/
var Stack = function(id) {
this.items = [];
this.id = id;
return this;
};
/**
* Returns the current url including query string
* @private
*/
var getUrl = function() {
var query;
var url = path.href(req.action);
try {
if (query = req.getServletRequest().getQueryString())
url += "?" + query;
} catch (e) {
// ignore
}
return url;
}
/**
* Checks if a request is valid for being added
* to the history stack. This method returns false
* for all POST-requests or requests whose action name
* contains a dot (to prevent requests for external stylesheets
* or the like from being recorded).
* @private
* @type Boolean
*/
var isValid = function() {
// FIXME: we should check for mimetype of response instead
// of assuming that requests containing a dot aren't worth
// being put into history stack ...
if (req.isPost() || (req.action && req.action.contains(".")))
return false;
return true;
};
/**
* returns a single Stack instance
* @private
*/
var getStack = function() {
if (history.length < 1)
history.push(new Stack(getUrl()));
return history[history.length -1];
};
/**
* Variable containing the history-stacks
* @private
*/
var history = [];
/**
* Initializes a new history stack, adds
* it to the array of stacks (which makes it
* the default one to use for further requests)
* and records the current request Url.
*/
this.add = function() {
if (!isValid())
return;
var url = getUrl();
if (getStack().id != url) {
history.push(new Stack(url));
this.push();
}
return;
};
/**
* Removes the current history stack
*/
this.remove = function() {
history.pop();
return;
};
/**
* Records a request Url in the currently active
* history stack.
*/
this.push = function() {
if (isValid()) {
var obj = path[path.length-1];
var url = getUrl();
var stack = getStack();
if (stack.items.length < 1 || stack.items[stack.items.length -1].url != url) {
if (stack.items.length >= MAX)
stack.items.shift();
stack.items.push({
url: url,
path: path.href().substring(root.href().length).replace(/\+/g, " ")
});
}
}
return;
};
/**
* Clears the currently active history stack
*/
this.clear = function() {
getStack().items.length = 0;
return;
};
/**
* Redirects the client back to the first valid
* request in history. Please mind that searching for
* a valid Url starts at <em>history.length - 2</em>.
* @param {Number} offset The index position in the stack to start
* searching at
*/
this.redirect = function(offset) {
res.redirect(this.pop(offset));
return;
};
/**
* Retrieves the first valid request Url in history
* stack starting with a given offset. The default offset is 1.
* Any valid Url found is removed from the stack, therefor
* this method <em>alters the contents of the history stack</em>.
* @param {Number} offset The index position in history stack to start
* searching at
* @return The Url of the request
* @type String
*/
this.pop = function(offset) {
/**
* checks if a referrer is stil valid
* @private
*/
var isValidPath = function(p) {
var arr = p.split("/");
var obj = root;
for (var i=0;i<arr.length -1;i++) {
if (!(obj = obj.get(unescape(arr[i]))) || obj.__node__.getState() == 3)
return false;
}
return true;
};
var obj;
var cut = offset != null ? offset : 1;
var stack = getStack();
if (stack.items.length > 0) {
while (cut-- > 0) {
obj = stack.items.pop();
}
}
while (stack.items.length > 0) {
obj = stack.items.pop();
// check if url is valid
if (isValidPath(obj.path)) {
return obj.url;
}
}
return path.href();
};
/**
* Retrieves the request Url at the given position
* in the current history stack. If no offset is given
* the last Url in the stack is returned. This method
* <em>does not alter the stack contents</em>!
* @param {Number} offset The index position in history stack to start
* searching at
* @return The Url of the request
* @type String
*/
this.peek = function(offset) {
var stack = getStack();
return stack.items[stack.items.length - (offset != null ? offset : 1)];
};
/**
* Returns the contents of all history stacks
* as string
* @return The history stacks as string
* @type String
*/
this.dump = function() {
return history.toSource();
};
/** @ignore */
this.toString = function() {
return "[History " + getStack().toSource() + "]";
};
return this;
}

View file

@ -0,0 +1,177 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Additional fields and methods of the HopObject class.
*/
/**
* HelmaLib dependencies
*/
app.addRepository("modules/core/String.js");
app.addRepository("modules/helma/File.js");
/**
* Constructs a name from an object which
* is unique in the underlying HopObject collection.
* @param {Object} obj The object representing or containing
* the alias name. Possible object types include:
* <ul>
* <li>File</li>
* <li>helma.File</li>
* <li>java.io.File</li>
* <li>String</li>
* <li>java.lang.String</li>
* <li>Packages.helma.util.MimePart</li>
* </ul>
* @param {Number} maxLength The maximum length of the alias
* @returns The resulting alias
* @type String
*/
HopObject.prototype.getAccessName = function(obj, maxLength) {
/**
* Private method checking if the key passed as argument is already
* existing in this object
* @param {String} key The key string to test
* @returns True in case the key is already in use, false otherwise
* @type Boolean
*/
var isReserved = function(obj, key) {
return key === "." ||
key === ".." ||
obj[key] != null ||
obj[key + "_action"] != null ||
obj.get(key) != null
};
// prepare name depending on argument
var name;
var clazz = obj.constructor || obj.getClass();
switch (clazz) {
case File:
case helma.File:
case java.io.File:
case Packages.helma.util.MimePart:
// first fix bloody ie/win file paths containing backslashes
name = obj.getName().split(/[\\\/]/).pop();
if (name.contains("."))
name = name.substring(0, name.lastIndexOf("."));
break;
case String:
case java.lang.String:
name = obj;
break;
default:
name = obj.toString();
}
// remove all (back)slashes
var accessName = name.replace(/[\\\/]/g, "");
// remove all plus signs
accessName = accessName.replace("+","");
if (accessName.length > maxLength) {
accessName = accessName.substring(0, maxLength);
}
var result = accessName;
if (isReserved(this, result)) {
var len = result.length;
var counter = 1;
var overflow;
while (isReserved(this, result)) {
result = accessName + "-" + counter.toString();
if ((overflow = result.length - maxLength) > 0) {
result = accessName.substring(0, accessName.length - overflow) +
"-" + counter.toString();
if (result.length > maxLength) {
throw "Unable to create accessname due to limit restriction";
}
}
counter += 1;
}
}
return result;
};
/**
* Returns true if the internal state of this HopObject is TRANSIENT.
* @returns True if this HopObject is marked as <em>transient</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isTransient = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.TRANSIENT;
};
/**
* Returns true if the internal state of this HopObject is VIRTUAL.
* @returns True if this HopObject is marked as <em>virtual</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isVirtual = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.VIRTUAL;
};
/**
* Returns true if the internal state of this HopObject is INVALID.
* @returns True if this HopObject is marked as <em>invalid</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isInvalid = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.INVALID;
};
/**
* Returns true if the internal state of this HopObject is CLEAN.
* @returns True if this HopObject is marked as <em>clean</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isClean = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.CLEAN;
};
/**
* Returns true if the internal state of this HopObject is NEW.
* @returns True if this HopObject is marked as <em>new</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isNew = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.NEW;
};
/**
* Returns true if the internal state of this HopObject is MODIFIED.
* @returns True if this HopObject is marked as <em>modified</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isModified = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.MODIFIED;
};
/**
* Returns true if the internal state of this HopObject is DELETED.
* @returns True if this HopObject is marked as <em>deleted</em>, false otherwise.
* @type Boolean
*/
HopObject.prototype.isDeleted = function() {
return this.__node__.getState() === Packages.helma.objectmodel.INodeState.DELETED;
};

View file

@ -0,0 +1,156 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.HtmlDocument class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Jala dependencies
*/
(function() {
var jalaDir = getProperty("jala.dir", "modules/jala");
app.addRepository(jalaDir + "/lib/dom4j-1.6.1.jar");
app.addRepository(jalaDir + "/lib/jaxen-1.1-beta-8.jar");
})();
/**
* Construct a new HTML document.
* @class This class provides easy access to the elements of
* an arbitrary HTML document. By using TagSoup, Dom4J and Jaxen
* even invalid HTML can be parsed, turned into an object tree
* and easily be processed with XPath expressions.
* @param {String} source The HTML source code.
* @returns A new HTML document.
* @constructor
*/
jala.HtmlDocument = function(source) {
var REQUIREMENTS = {
"dom4j-1.6.1": "http://www.dom4j.org",
"jaxen-1.1-beta-8": "http://www.jaxen.org"
};
var reader = new java.io.StringReader(source);
var dom4j = Packages.org.dom4j;
var tagsoup = "org.ccil.cowan.tagsoup.Parser";
try {
var saxReader = new dom4j.io.SAXReader(tagsoup);
var document = saxReader.read(reader);
document.normalize();
} catch(e) {
res.push();
res.write("\njala.HtmlDocument requires the following Java ");
res.write("packages in ext/lib or application directory:\n");
for (var i in REQUIREMENTS) {
res.write(i);
res.write(".jar");
res.write(" [");
res.write(REQUIREMENTS[i]);
res.write("]\n");
}
throw (e + res.pop());
}
/**
* Get all document nodes from an XPath expression.
* @param {String} xpathExpr An XPath expression.
* @returns A list of HTML elements.
* @type org.dom4j.tree.DefaultElement
*/
this.scrape = function(xpathExpr) {
return document.selectNodes(xpathExpr);
};
/**
* Get all link elements of the HTML document.
* @returns A list of link elements.
* @type Array
*/
this.getLinks = function() {
var result = [];
var list = this.scrape("//html:a");
for (var i=0; i<list.size(); i+=1) {
var element = list.get(i);
var text = element.getText();
var href = element.attribute("href");
if (text && href) {
result.push({
text: text,
url: href.getText()
});
}
}
return result;
};
/**
* Retrieves all elements by name from the document.
* The returned object structure is compatible for usage
* in {@link jala.XmlWriter}.
* @param {String} elementName The name of the desired element
* @returns The list of available elements in the document
* @type Array
*/
this.getAll = function(elementName) {
var result = [], object;
var list = this.scrape("//html:" + elementName);
var i, n, element, text, attributes, attr, size;
for (i=0; i<list.size(); i+=1) {
element = list.get(i);
object = {
name: element.getName(),
value: element.getText() || null
};
attributes = element.attributes();
if ((size = attributes.size()) > 0) {
object.attributes = new Array;
for (n=0; n<size; n+=1) {
attr = attributes.get(n);
object.attributes.push({
name: attr.getName(),
value: attr.getData() || null
});
}
}
result.push(object);
}
return result;
};
/**
* Get a string representation of the HTML document.
* @returns A string representation of the HTML document.
* @type String
*/
this.toString = function() {
return "[jala.HtmlDocument " + source.length + " Bytes]";
};
return this;
};

403
modules/jala/code/I18n.js Normal file
View file

@ -0,0 +1,403 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Methods and macros for internationalization
* of Helma applications.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Constructs a new instance of jala.I18n
* @class This class provides various functions and macros for
* internationalization of Helma applications.
* @constructor
* @type jala.I18n
*/
jala.I18n = function() {
/**
* The default object containing the messages.
* @ignore
*/
var messages = global.messages;
/**
* The default method for retrieving the locale.
* @ignore
*/
var localeGetter = function() {
return java.util.Locale.getDefault();
};
/**
* Overwrite the default object containing
* the messages (ie. a vanilla EcmaScript object).
* @param {Object} msgObject The object containing the messages
*/
this.setMessages = function(msgObject) {
messages = msgObject;
};
/**
* Get the message object.
* @returns The object containing the messages
* @type Object
*/
this.getMessages = function() {
return messages;
};
/**
* Set the method for retrieving the locale.
* @param {Function} func The getter method
*/
this.setLocaleGetter = function(func) {
if (func && func.constructor == Function) {
localeGetter = func;
} else {
throw Error("Getter method to retrieve locale must be a function");
}
return;
};
/**
* Get the method for retrieving the locale.
* @returns The getter method
* @type Function
*/
this.getLocaleGetter = function() {
return localeGetter;
};
return this;
};
/**
* The default handler containing the messages.
* @ignore
*/
jala.I18n.HANDLER = global;
/** @ignore */
jala.I18n.prototype.toString = function() {
return "[Jala i18n]";
};
/**
* Set (overwrite) the default handler containing
* the messages (ie. a vanilla EcmaScript object).
* @param {Object} handler The handler containing the message object
* @deprecated Use {@link #setMessages} instead
*/
jala.I18n.prototype.setHandler = function(handler) {
this.setMessages(handler.messages);
return;
};
/**
* Returns the locale for the given id, which is expected to follow
* the form <code>language[_COUNTRY][_variant]</code>, where <code>language</code>
* is a valid ISO Language Code (eg. "de"), <code>COUNTRY</code> a valid ISO
* Country Code (eg. "AT"), and variant an identifier for the variant to use.
* @returns The locale for the given id
* @type java.util.Locale
*/
jala.I18n.prototype.getLocale = function(localeId) {
if (localeId) {
if (localeId.indexOf("_") > -1) {
var arr = localeId.split("_");
if (arr.length == 3) {
return new java.util.Locale(arr[0], arr[1], arr[2]);
} else {
return new java.util.Locale(arr[0], arr[1]);
}
} else {
return new java.util.Locale(localeId);
}
}
return java.util.Locale.getDefault();
}
/**
* Tries to "translate" the given message key into a localized
* message.
* @param {String} key The message to translate (required)
* @param {String} plural The plural form of the message to translate
* @param {Number} amount A number to determine whether to use the
* singular or plural form of the message
* @returns The localized message or the appropriate key if no
* localized message was found
* @type String
*/
jala.I18n.prototype.translate = function(singularKey, pluralKey, amount) {
var translation = null;
if (singularKey) {
// use the getter method for retrieving the locale
var locale = this.getLocaleGetter()();
var catalog, key;
if ((catalog = jala.i18n.getCatalog(locale))) {
if (arguments.length == 3 && amount != 1) { // is plural
key = pluralKey;
} else {
key = singularKey;
}
if (!(translation = catalog[key])) {
translation = key;
app.logger.debug("jala.i18n.translate(): Can't find message '" +
key + "' for locale '" + locale + "'");
}
} else {
app.logger.debug("jala.i18n.translate(): Can't find message catalog for locale '" + locale + "'");
if (!pluralKey || amount == 1) {
translation = singularKey;
} else {
translation = pluralKey;
}
}
}
return translation;
};
/**
* Helper method to get the message catalog
* corresponding to the actual locale.
* @params {java.util.Locale} locale
* @returns The message catalog.
*/
jala.I18n.prototype.getCatalog = function(locale) {
if (!jala.I18n.catalogs) {
jala.I18n.catalogs = {};
}
var catalog = jala.I18n.catalogs[locale];
if (catalog) return catalog;
var messages = this.getMessages();
if (locale && messages) {
catalog = messages[locale.toLanguageTag()];
jala.I18n.catalogs[locale] = catalog;
}
return catalog;
};
/**
* Converts the message passed as argument into an instance
* of java.text.MessageFormat, and formats it using the
* replacement values passed.
* @param {String} message The message to format
* @param {Array} values An optional array containing replacement values
* @returns The formatted message or, if the formatting fails, the
* message passed as argument.
* @type String
* @see http://java.sun.com/j2se/1.5.0/docs/api/java/text/MessageFormat.html
*/
jala.I18n.prototype.formatMessage = function(message, values) {
if (message) {
var args = null;
if (values != null && values.length > 0) {
args = java.lang.reflect.Array.newInstance(java.lang.Object, values.length);
var arg;
for (var i=0;i<values.length;i++) {
if ((arg = values[i]) != null) {
// MessageFormat can't deal with javascript date objects
// so we need to convert them into java.util.Date instances
if (arg instanceof Date) {
args[i] = new java.util.Date(arg.getTime());
} else {
args[i] = arg;
}
}
}
}
// use the getter method for retrieving the locale
var locale = this.getLocaleGetter()();
// format the message
try {
var msgFormat = new java.text.MessageFormat(message, locale);
return msgFormat.format(args);
} catch (e) {
app.logger.warn("jala.i18n.formatMessage(): Unable to format message '"
+ message + "', reason: " + e, e.javaException);
}
}
return null;
};
/**
* Returns a localized message for the message key passed as
* argument. If no localization is found, the message key
* is returned. Any additional arguments passed to this function
* will be used as replacement values during message rendering.
* To reference these values the message can contain placeholders
* following "{number}" notation, where <code>number</code> must
* match the number of the additional argument (starting with zero).
* @param {String} key The message to localize
* @returns The translated message
* @type String
* @see #translate
* @see #formatMessage
*/
jala.I18n.prototype.gettext = function(key /** [value 0][, value 1][, ...] */) {
return this.formatMessage(this.translate(key),
Array.prototype.splice.call(arguments, 1));
};
/**
* Returns a localized message for the message key passed as
* argument. In contrast to gettext() this method
* can handle plural forms based on the amount passed as argument.
* If no localization is found, the appropriate message key is
* returned. Any additional arguments passed to this function
* will be used as replacement values during message rendering.
* To reference these values the message can contain placeholders
* following "{number}" notation, where <code>number</code> must
* match the number of the additional argument (starting with zero).
* @param {String} singularKey The singular message to localize
* @param {String} pluralKey The plural form of the message to localize
* @param {Number} amount The amount which is used to determine
* whether the singular or plural form of the message should be returned.
* @returns The translated message
* @type String
* @see #translate
* @see #formatMessage
*/
jala.I18n.prototype.ngettext = function(singularKey, pluralKey, amount /** [value 0][, value 1][, ...] */) {
return this.formatMessage(this.translate(singularKey, pluralKey, amount || 0),
Array.prototype.splice.call(arguments, 2));
};
/**
* A simple proxy method which is used to mark a message string
* for the i18n parser as to be translated.
* @param {String} key The message that should be seen by the
* i18n parser as to be translated.
* @returns The message in unmodified form
* @type String
*/
jala.I18n.prototype.markgettext = function(key) {
return key;
};
/**
* Returns a translated message. The following macro attributes
* are accepted:
* <ul>
* <li>text: The message to translate (required)</li>
* <li>plural: The plural form of the message</li>
* <li>values: A list of replacement values. Use a comma to separate more
* than one value. Each value is either interpreted as a global property
* (if it doesn't containg a dot) or as a property name of the given macro
* handler object (eg. "user.name"). If the value of the property is a
* HopObject or an Array this macro uses the size() resp. length of the
* object, otherwise the string representation of the object will be used.</li>
* </ul>
* @returns The translated message
* @type String
* @see #gettext
* @see #ngettext
*/
jala.I18n.prototype.message_macro = function(param) {
if (param.text) {
var args = [param.text];
if (param.plural) {
args[args.length] = param.plural;
}
if (param.values != null) {
var arr = param.values.split(/\s*,\s*/g);
// convert replacement values: if the value name doesn't contain
// a dot, look for a global property with that name, otherwise
// for a property of the specified macro handler object.
var propName, dotIdx, handlerName, handler;
for (var i=0;i<arr.length;i++) {
if ((propName = arr[i]) != null) {
var value = null;
if ((dotIdx = propName.indexOf(".")) > 0) {
var handlerName = propName.substring(0, dotIdx);
if (handlerName == "request") {
handler = req.data;
} else if (handlerName == "response") {
handler = res.data;
} else if (!(handler = res.handlers[handlerName])) {
continue;
}
propName = propName.substring(dotIdx + 1);
// primitive security: don't allow access to internal properties
// and a property named "password"
if (propName.charAt(0) != "_" && propName.toLowerCase() != "password") {
value = handler[propName];
}
} else {
value = global[propName];
}
if (value != null) {
// if its a HopObject collection or Array, use its size/length
// as value
if (value instanceof HopObject) {
value = value.size();
} else if (value instanceof Array) {
value = value.length;
}
}
args[args.length] = value;
}
}
}
if (param.plural) {
return this.ngettext.apply(this, args);
} else {
return this.gettext.apply(this, args);
}
}
return;
};
/**
* Default i18n class instance.
* @type jala.I18n
* @final
*/
jala.i18n = new jala.I18n();
/**
* For convenience reasons the public methods and macros are
* put into global scope too
*/
var gettext = function() {
return jala.i18n.gettext.apply(jala.i18n, arguments);
};
var ngettext = function() {
return jala.i18n.ngettext.apply(jala.i18n, arguments);
};
var markgettext = function() {
return jala.i18n.markgettext.apply(jala.i18n, arguments);
};
var message_macro = function() {
return jala.i18n.message_macro.apply(jala.i18n, arguments);
};

View file

@ -0,0 +1,362 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.ImageFilter class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Constructs a new ImageFilter object
* @class This class provides several image manipulating
* methods. Most of this filter library is based on filters created
* by Janne Kipinä for JAlbum. For more information have a look
* at http://www.ratol.fi/~jakipina/java/
* @param {Object} img Either
<ul>
<li>an instance of helma.image.ImageWrapper</li>
<li>the path to the image file as String</li>
<li>an instance of helma.File representing the image file</li>
<li>an instance of java.io.File representing the image file</li>
</ul>
* @constructor
*/
jala.ImageFilter = function(img) {
/**
* The buffered image to work on
* @type java.awt.image.BufferedImage
* @private
*/
var bi;
/**
* Perfoms a gaussian operation (unsharp masking or blurring)
* on the image using the kernelFactory passed as argument
* @param {Number} radius The radius
* @param {Number} amount The amount
* @param {Function} kernelFactory Factory method to call for building the kernel
* @private
*/
var gaussianOp = function(radius, amount, kernelFactory) {
var DEFAULT_RADIUS = 2;
var MINIMUM_RADIUS = 1;
var MAXIMUM_RADIUS = 10;
var DEFAULT_AMOUNT = 15;
var MINIMUM_AMOUNT = 1;
var MAXIMUM_AMOUNT = 100;
// correct arguments if necessary
if (isNaN(radius = Math.min(Math.max(radius, MINIMUM_RADIUS), MAXIMUM_RADIUS)))
radius = DEFAULT_RADIUS;
if (isNaN(amount = Math.min(Math.max(amount, MINIMUM_AMOUNT), MAXIMUM_AMOUNT)))
amount = DEFAULT_AMOUNT;
if ((bi.getWidth() < bi.getHeight()) && (radius > bi.getWidth())) {
radius = bi.getWidth();
} else if ((bi.getHeight() < bi.getWidth()) && (radius > bi.getHeight())) {
radius = bi.getHeight();
}
var size = (radius * 2) + 1;
var deviation = amount / 20;
var elements = kernelFactory(size, deviation);
var large = jala.ImageFilter.getEnlargedImageWithMirroring(bi, radius);
var resultImg = new java.awt.image.BufferedImage(large.getWidth(), large.getHeight(), large.getType());
var kernel = new java.awt.image.Kernel(size, size, elements);
var cop = new java.awt.image.ConvolveOp(kernel, java.awt.image.ConvolveOp.EDGE_NO_OP, null);
cop.filter(large, resultImg);
// replace the wrapped buffered image with the modified one
bi = resultImg.getSubimage(radius, radius, bi.getWidth(), bi.getHeight());
return;
};
/**
* Sharpens the image using a plain sharpening kernel.
* @param {Number} amount The amount of sharpening to apply
*/
this.sharpen = function(amount) {
var DEFAULT = 20;
var MINIMUM = 1;
var MAXIMUM = 100;
// correct argument if necessary
if (isNaN(Math.min(Math.max(amount, MINIMUM), MAXIMUM)))
amount = DEFAULT;
var sharpened = new java.awt.image.BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
var kernel = new java.awt.image.Kernel(3, 3, jala.ImageFilter.getSharpeningKernel(amount));
var cop = new java.awt.image.ConvolveOp(kernel, java.awt.image.ConvolveOp.EDGE_NO_OP, null);
cop.filter(bi, sharpened);
bi = sharpened;
return;
};
/**
* Performs an unsharp mask operation on the image
* @param {Number} radius The radius
* @param {Number} amount The amount
*/
this.unsharpMask = function(radius, amount) {
gaussianOp(radius, amount, jala.ImageFilter.getUnsharpMaskKernel);
return;
};
/**
* Performs a gaussian blur operation on the image
* @param {Number} radius The radius
* @param {Number} amount The amount
*/
this.gaussianBlur = function(radius, amount) {
gaussianOp(radius, amount, jala.ImageFilter.getGaussianBlurKernel);
return;
};
/**
* Returns the image that has been worked on
* @return An instance of helma.image.ImageWrapper
* @type helma.image.ImageWrapper
*/
this.getImage = function() {
var generator = Packages.helma.image.ImageGenerator.getInstance();
return new Packages.helma.image.ImageWrapper(bi,
bi.getWidth(),
bi.getHeight(),
generator);
};
/**
* Returns the wrapped image as byte array, to use eg. in conjunction
* with res.writeBinary()
* @returns The wrapped image as byte array
* @type byte[]
*/
this.getBytes = function() {
var outStream = new java.io.ByteArrayOutputStream();
Packages.javax.imageio.ImageIO.write(bi, "jpeg", outStream);
var bytes = outStream.toByteArray();
outStream.close();
return bytes;
};
/**
* constructor body
* @ignore
*/
if (arguments.length == 0 || img == null) {
throw "jala.ImageFilter: insufficient arguments";
} else if (img instanceof Packages.helma.image.ImageWrapper) {
bi = img.getBufferedImage();
} else {
if (typeof(img) == "string") {
var inStream = new java.io.FileInputStream(new java.io.File(img));
} else {
var inStream = new java.io.FileInputStream(img);
}
var decoder = Packages.com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(inStream);
bi = decoder.decodeAsBufferedImage();
}
return this;
};
/** @ignore */
jala.ImageFilter.prototype.toString = function() {
return "[jala.ImageFilter]";
};
/**
* Transforms an image into a bigger one while mirroring the edges
* This method is used to apply the filtering up to the edges
* of an image (otherwise the image would keep an unmodified
* border).
* @param {java.awt.image.BufferedImage} bi The buffered image to transform
* @param {Number} size The size of the border area
* @returns The transformed image
* @type java.awt.image.BufferedImage
* @private
*/
jala.ImageFilter.getEnlargedImageWithMirroring = function(bi, size) {
var doFlip = function(bi, sx, sy, dist) {
var out = new java.awt.image.BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
var transform = java.awt.geom.AffineTransform.getScaleInstance(sx, sy);
(sx < sy) ? transform.translate(-dist, 0) : transform.translate(0, -dist);
var atop = new java.awt.image.AffineTransformOp(transform,
java.awt.image.AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
out = atop["filter(java.awt.image.BufferedImage,java.awt.image.BufferedImage)"](bi, null);
return out;
}
var doHorizontalFlip = function(bi) {
return doFlip(bi, -1, 1, bi.getWidth());
}
var doVerticalFlip = function(bi) {
return doFlip(bi, 1, -1, bi.getHeight());
}
var width = bi.getWidth() + 2 * size;
var height = bi.getHeight() + 2 * size;
var out = new java.awt.image.BufferedImage(width, height, bi.getType());
var g = out.createGraphics();
// due to method overloading exactly define the method to be called
var func = "drawImage(java.awt.Image,int,int,java.awt.image.ImageObserver)";
g[func](bi, size, size, null);
var part;
//top-left corner
part = bi.getSubimage(0, 0, size, size);
part = doHorizontalFlip(part);
part = doVerticalFlip(part);
g[func](part, 0, 0, null);
//top-right corner
part = bi.getSubimage(bi.getWidth()-size, 0, size, size);
part = doHorizontalFlip(part);
part = doVerticalFlip(part);
g[func](part, width-size, 0, null);
//bottom-left corner
part = bi.getSubimage(0, bi.getHeight()-size, size, size);
part = doHorizontalFlip(part);
part = doVerticalFlip(part);
g[func](part, 0, height-size, null);
//bottom-right corner
part = bi.getSubimage(bi.getWidth()-size, bi.getHeight()-size, size, size);
part = doHorizontalFlip(part);
part = doVerticalFlip(part);
g[func](part, width-size, height-size, null);
//left border
part = bi.getSubimage(0, 0, size, bi.getHeight());
part = doHorizontalFlip(part);
g[func](part, 0, size, null);
//right border
part = bi.getSubimage(bi.getWidth()-size, 0, size, bi.getHeight());
part = doHorizontalFlip(part);
g[func](part, width-size, size, null);
//top border
part = bi.getSubimage(0, 0, bi.getWidth(), size);
part = doVerticalFlip(part);
g[func](part, size, 0, null);
//bottom border
part = bi.getSubimage(0, bi.getHeight()-size, bi.getWidth(), size);
part = doVerticalFlip(part);
g[func](part, size, height-size, null);
return out;
};
/**
* Factory method for a gaussian blur kernel
* @returns The gaussian blur kernel
* @param {Number} size The size of the kernel
* @param {Number} deviation The deviation to use
* @returns The gaussian blur kernel
* @type float[]
* @private
*/
jala.ImageFilter.getGaussianBlurKernel = function(size, deviation) {
var nominator = 2 * deviation * deviation;
var kernel = java.lang.reflect.Array.newInstance(java.lang.Float.TYPE, size*size);
var center = (size - 1) / 2;
var limit = size - 1;
var xx, yy;
var sum = 0;
var value = 0;
for (var y=0; y<size; y++) {
for (var x=0; x<size; x++) {
if ((y <= center) && (x <= center)) {
if (x >= y) {
//calculate new value
xx = center - x;
yy = center - y;
value = Math.exp(-(xx*xx + yy*yy) / nominator);
kernel[(y*size)+x] = value;
sum += value;
} else {
//copy existing value
value = kernel[(x*size)+y];
kernel[(y*size)+x] = value;
sum += value;
}
} else {
xx = x;
yy = y;
if (yy > center)
yy = limit - yy;
if (xx > center)
xx = limit - xx;
value = kernel[(yy*size)+xx];
kernel[(y*size)+x] = value;
sum += value;
}
}
}
for (var i=0; i<kernel.length; i++) {
kernel[i] = kernel[i] / sum;
}
return kernel;
};
/**
* Factory method for an unsharp mask kernel
* @param {Number} size The size of the kernel
* @param {Number} deviation The deviation to use
* @returns The unsharp mask kernel
* @type float[]
* @private
*/
jala.ImageFilter.getUnsharpMaskKernel = function(size, deviation) {
var elements = jala.ImageFilter.getGaussianBlurKernel(size, deviation);
var center = ((size * size) - 1) / 2;
elements[center] = 0;
var sum = 0;
for (var i=0; i<elements.length; i++) {
sum += elements[i];
elements[i] = -elements[i];
}
elements[center] = sum + 1;
return elements;
};
/**
* Factory method for a sharpening kernel
* @param {Number} amount The amount of sharpening to use
* @return The sharpening kernel
* @type float[]
* @private
*/
jala.ImageFilter.getSharpeningKernel = function(amount) {
var kernel = java.lang.reflect.Array.newInstance(java.lang.Float.TYPE, 9);
var corner = 0;
var side = amount / -50;
var center = (side * -4.0) + (corner * -4.0) + 1.0;
kernel[0] = kernel[2] = kernel[6] = kernel[8] = corner;
kernel[1] = kernel[3] = kernel[5] = kernel[7] = side;
kernel[4] = center;
return kernel;
};

View file

@ -0,0 +1,765 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.IndexManager class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* HelmaLib dependencies
*/
app.addRepository("modules/helma/Search.js");
app.addRepository("modules/helma/File.js");
/**
* Constructs a new IndexManager object.
* @class This class basically sits on top of a helma.Search.Index instance
* and provides methods for adding, removing and optimizing the underlying index.
* All methods generate jobs that are put into an internal queue which is
* processed asynchronously by a separate worker thread. This means all calls
* to add(), remove() and optimize() will return immediately, but the changes to
* the index will be done within a short delay. Please keep in mind to change the
* status of this IndexManager instance to REBUILDING before starting to rebuild
* the index, as this ensures that all add/remove/optimize jobs will stay in the
* queue and will only be processed after switching the status back to NORMAL.
* This ensures that objects that have been modified during a rebuilding process
* are re-indexed properly afterwards.
* @param {String} name The name of the index, which is the name of the directory
* the index already resides or will be created in.
* @param {helma.File} dir The base directory where this index's directory
* is already existing or will be created in. If not specified a RAM directory
* is used.
* @param {String} lang The language of the documents in this index. This leads
* to the proper Lucene analyzer being used for indexing documents.
* @constructor
* @see helma.Search.createIndex
*/
jala.IndexManager = function IndexManager(name, dir, lang) {
/**
* Private variable containing the worker thread
* @private
*/
var thread = null;
/**
* Private flag indicating that the worker thread should stop
* @type Boolean
* @private
*/
var interrupted = false;
/**
* Private variable containing the index managed by
* this IndexManager instance.
* @private
*/
var index = null;
/**
* Private variable containing a status indicator.
* @type Number
* @private
*/
var status = jala.IndexManager.NORMAL;
/**
* Synchronized linked list that functions as a queue for
* asynchronous processing of index manipulation jobs.
* @type java.util.LinkedList
* @private
* @see jala.IndexManager.Job
*/
var queue = java.util.Collections.synchronizedList(new java.util.LinkedList());
/**
* The name of the unique identifier field in the index. Defaults to "id".
* @type String
* @private
*/
var idFieldname = "id";
/**
* The index directory
* @type Packages.org.apache.lucene.store.Directory
* @private
*/
var indexDirectory = null;
/**
* The searcher utilized by {@link #search}
* @type jala.IndexManager.Searcher
* @private
*/
var searcher = null;
/**
* Returns the directory of the underlying index
* @returns The directory of the underlying index
* @type Packages.org.apache.lucene.store.Directory
*/
this.getDirectory = function() {
return indexDirectory;
};
/**
* Returns the underlying index.
* @returns The index this queue is working on.
* @type helma.Search.Index
*/
this.getIndex = function() {
return index;
};
/**
* Returns the status of this manager.
* @returns The status of this index manager.
* @type Number
* @see #NORMAL
* @see #REBUILDING
*/
this.getStatus = function() {
return status;
};
/**
* Modifies the status of this manager, which has implications
* on how index modifying jobs are handled. If the status
* is {@link #REBUILDING}, all jobs are queued until the status
* is set back to {@link #NORMAL}.
* @param {Number} s The new status of this manager.
* @see #NORMAL
* @see #REBUILDING
*/
this.setStatus = function(s) {
status = s;
return;
};
/**
* Returns the queue this index manager is using.
* @returns The queue.
* @type java.util.LinkedList
*/
this.getQueue = function() {
return queue;
};
/**
* Returns the name of the index manger, which
* is equal to the name of the underlying index
* @returns The name of the index manager
* @type String
*/
this.getName = function() {
return name;
};
/**
* Returns the name of the field containing the unique identifier
* of document objects in the index wrapped by this IndexManager.
* Defaults to "id".
* @returns The name of the id field in the index
* @type String
* @see #setIdFieldname
*/
this.getIdFieldname = function() {
return idFieldname;
};
/**
* Sets the name of the field containing the unique identifier
* of document objects in the index wrapped by this IndexManager.
* @see #getIdFieldname
*/
this.setIdFieldname = function(name) {
idFieldname = name;
return;
};
/**
* Returns true if the underlying index is currently optimized.
* @returns True in case the index is optimized, false otherwise.
* @type Boolean
*/
this.hasOptimizingJob = function() {
for (var i=0; i<queue.size(); i++) {
if (queue.get(i).type == jala.IndexManager.Job.OPTIMIZE) {
return true;
}
}
return false;
};
/**
* Returns true if the underlying index is currently rebuilding.
* @returns True in case the index is rebuilding, false otherwise.
* @type Boolean
*/
this.isRebuilding = function() {
return status == jala.IndexManager.REBUILDING;
};
/**
* Starts the IndexManager worker thread that processes the job queue
*/
this.start = function() {
if (!this.isRunning()) {
interrupted = false;
thread = app.invokeAsync(this, function() {
while (interrupted === false) {
if (this.getStatus() != jala.IndexManager.REBUILDING && !queue.isEmpty()) {
var job = queue.remove(0);
if (this.processJob(job) === false) {
// processing job failed, check if we should re-add
if (job.errors < jala.IndexManager.MAXTRIES) {
// increment error counter and put back into queue
job.errors += 1;
queue.add(job);
} else {
this.log("error", "error during queue flush: tried " +
jala.IndexManager.MAXTRIES + " times to handle " +
job.type + " job " + ", giving up.");
}
}
this.log("debug", "remaining jobs " + queue.size());
// if no more jobs are waiting, optimize the index and re-open
// the index searcher to make changes visible
if (queue.isEmpty()) {
var start = java.lang.System.currentTimeMillis();
try {
this.getIndex().optimize();
this.log("optimized index in " + jala.IndexManager.getRuntime(start) + " ms");
this.initSearcher();
} catch (e) {
this.log("error", "Unable to optimize index or re-open searcher, reason: " + e.toString());
}
}
} else {
// wait for 100ms before checking again
java.lang.Thread.sleep(100);
}
}
return true;
}, [], -1);
this.log("started successfully");
} else {
this.log("already running");
}
return;
};
/**
* Stops this IndexManager instance. This function waits for 10 seconds
* maximum for the worker thread to stop.
* @returns True if the worker thread stopped successfully, false otherwise
* @type Boolean
*/
this.stop = function() {
interrupted = true;
var result;
if ((result = this.isRunning()) === true) {
if ((result = thread.waitForResult(10000)) === true) {
thread = null;
this.log("stopped successfully");
} else {
result = false;
this.log("error", "unable to stop");
}
} else {
this.log("info", "already stopped");
}
return result;
};
/**
* Returns true if this IndexManager instance is running
* @returns True if this IndexManager instance is running, false otherwise.
* @type Boolean
*/
this.isRunning = function() {
if (thread != null) {
return thread.running;
}
return false;
};
/**
* Read only reference containing the running status of this IndexManager
* @type Boolean
*/
this.running; // for api documentation only, is overwritten by getter below
this.__defineGetter__("running", function() {
return this.isRunning()
});
/**
* Read only reference containing the number of pending jobs
* @type Number
*/
this.pending; // for api documentation only, is overwritten by getter below
this.__defineGetter__("pending", function() {
return queue.size()
});
/**
* Initializes the searcher
* @private
*/
this.initSearcher = function() {
searcher = new Packages.org.apache.lucene.search.IndexSearcher(indexDirectory);
return;
};
/**
* Returns the searcher of this index manager
* @returns The searcher of this index manager
* @type org.apache.lucene.search.IndexSearcher
* @private
*/
this.getSearcher = function() {
if (searcher === null) {
this.initSearcher();
}
return searcher;
};
/**
* Main constructor body. Initializes the underlying index.
*/
var search = new helma.Search();
var analyzer = helma.Search.getAnalyzer(lang);
if (dir != null) {
indexDirectory = search.getDirectory(new helma.File(dir, name));
this.log("created/mounted " + indexDirectory);
} else {
indexDirectory = search.getRAMDirectory();
this.log("created new RAM directory");
}
index = search.createIndex(indexDirectory, analyzer);
return this;
};
/**
* Constant defining the maximum number of tries to add/remove
* an object to/from the underlying index.
* @type Number
* @final
*/
jala.IndexManager.MAXTRIES = 10;
/**
* Constant defining normal mode of this index manager.
* @type Number
* @final
*/
jala.IndexManager.NORMAL = 1;
/**
* Constant defining rebuilding mode of this index manager.
* @type Number
* @final
*/
jala.IndexManager.REBUILDING = 2;
/**
* Returns the milliseconds elapsed between the current timestamp
* and the one passed as argument.
* @returns The elapsed time in millis.
* @type Number
* @private
*/
jala.IndexManager.getRuntime = function(millis) {
return java.lang.System.currentTimeMillis() - millis;
};
/** @ignore */
jala.IndexManager.prototype.toString = function() {
return "[" + this.constructor.name + " '" + this.getName() + "' (" +
this.pending + " objects queued)]";
};
/**
* Helper function that prefixes every log message with
* the name of the IndexManager.
* @param {String} level An optional logging level. Accepted values
* @param {String} msg The log message
* are "debug", "info", "warn" and "error".
*/
jala.IndexManager.prototype.log = function(/* msg, level */) {
var level = "info", message;
if (arguments.length == 2) {
level = arguments[0];
message = arguments[1];
} else {
message = arguments[0];
}
app.logger[level]("[" + this.constructor.name + " '" +
this.getName() + "'] " + message);
return;
};
/**
* Static helper method that returns the value of the "id"
* field of a document object.
* @param {helma.Search.Document} doc The document whose id
* should be returned.
* @private
*/
jala.IndexManager.prototype.getDocumentId = function(doc) {
try {
return doc.getField(this.getIdFieldname()).value;
} catch (e) {
// ignore
}
return null;
};
/**
* Queues the document object passed as argument for addition to the underlying
* index. This includes that all existing documents with the same identifier will
* be removed before the object passed as argument is added.
* @param {helma.Search.Document} doc The document object that should be
* added to the underlying index.
* @returns True if the job was added successfully to the internal queue,
* false otherwise.
* @type Boolean
* @see helma.Search.Document
*/
jala.IndexManager.prototype.add = function(doc) {
var id;
if (!doc) {
this.log("error", "missing document object to add");
return false;
} else if ((id = this.getDocumentId(doc)) == null) {
this.log("error", "document doesn't contain an Id field '" +
this.getIdFieldname() + "'");
return false;
}
// the job's callback function which actually adds the document to the index
var callback = function() {
var start = java.lang.System.currentTimeMillis();
this.getIndex().updateDocument(doc, this.getIdFieldname());
this.log("debug", "added document with Id " + id +
" to index in " + jala.IndexManager.getRuntime(start) + " ms");
return;
}
var job = new jala.IndexManager.Job(jala.IndexManager.Job.ADD, callback);
this.getQueue().add(job);
this.log("debug", "queued adding document " + id + " to index");
return true;
};
/**
* Queues the removal of all index documents whose identifier value ("id" by default)
* matches the number passed as argument.
* @param {Number} id The identifier value
* @returns True if the removal job was added successfully to the queue, false
* otherwise.
* @type Boolean
*/
jala.IndexManager.prototype.remove = function(id) {
if (id === null || isNaN(id)) {
this.log("error", "missing or invalid document id to remove");
return false;
}
// the job's callback function which actually removes all documents
// with the given id from the index
var callback = function() {
var start = java.lang.System.currentTimeMillis();
this.getIndex().removeDocument(this.getIdFieldname(), parseInt(id, 10));
this.log("debug", "removed document with Id " + id +
" from index in " + jala.IndexManager.getRuntime(start) + " ms");
};
var job = new jala.IndexManager.Job(jala.IndexManager.Job.REMOVE, callback);
this.getQueue().add(job);
this.log("debug", "queued removal of document with Id " + id);
return true;
};
/**
* Queues the optimization of the underlying index. Normally there is no need
* to call this method explicitly, as the index will be optimized after all
* queued jobs have been processed.
* @returns True if the optimizing job was added, false otherwise, which means
* that there is already an optimizing job waiting in the queue.
* @type Boolean
*/
jala.IndexManager.prototype.optimize = function() {
if (this.hasOptimizingJob()) {
return false;
}
var callback = function() {
var start = java.lang.System.currentTimeMillis();
this.getIndex().optimize();
this.log("optimized index in " + jala.IndexManager.getRuntime(start) + " ms");
// re-open index searcher, so that changes are seen
this.initSearcher();
return;
};
var job = new jala.IndexManager.Job(jala.IndexManager.Job.OPTIMIZE, callback);
this.getQueue().add(job);
this.log("debug", "queued index optimization");
return true;
};
/**
* Processes a single queued job
* @param {Object} job
* @private
*/
jala.IndexManager.prototype.processJob = function(job) {
this.log("debug", job.type + " job has been in queue for " +
jala.IndexManager.getRuntime(job.createtime.getTime()) +
" ms, processing now...");
try {
job.callback.call(this);
} catch (e) {
this.log("error", "Exception while processing job " + job.type + ": " + e);
return false;
}
return true;
};
/**
* Searches the underlying index using the searcher of this index manager
* @param {helma.Search.Query|org.apache.lucene.search.Query} query The query
* to execute. Can be either an instance of helma.Search.Query, or an instance
* of org.apache.lucene.search.Query
* @param {helma.Search.QueryFilter|org.apache.lucene.search.Filter} filter
* An optional query filter
* @param {Array} sortFields An optional array containing
* org.apache.lucene.search.SortField instances to use for sorting the result
* @returns A HitCollection containing the search results
* @type helma.Search.HitCollection
*/
jala.IndexManager.prototype.search = function(query, filter, sortFields) {
var pkg = Packages.org.apache.lucene;
if (query == null || (!(query instanceof helma.Search.Query) &&
!(query instanceof pkg.search.Query))) {
throw "jala.IndexManager search(): missing or invalid query";
} else if (query instanceof helma.Search.Query) {
// unwrap query
query = query.getQuery();
}
if (filter != null && filter instanceof helma.Search.QueryFilter) {
// unwrap filter
filter = filter.getFilter();
}
var searcher = this.getSearcher();
var analyzer = this.getIndex().getAnalyzer();
var hits;
if (sortFields != null && sortFields.length > 0) {
// convert the array with sortfields to a java array
var arr = java.lang.reflect.Array.newInstance(pkg.search.SortField, sortFields.length);
sortFields.forEach(function(sortField, idx) {
arr[idx] = sortField;
});
var sort = pkg.search.Sort(arr);
if (filter) {
hits = searcher.search(query, filter, sort);
} else {
hits = searcher.search(query, sort);
}
} else if (filter) {
hits = searcher.search(query, filter);
} else {
hits = searcher.search(query);
}
this.log("debug", "Query: " + query.toString());
return new helma.Search.HitCollection(hits);
};
/**
* Parses the query string passed as argument into a lucene Query instance
* @param {String} queryStr The query string to parse
* @param {Array} fields An array containing the names of the files to search in
* @param {Object} boostMap An optional object containing properties whose name denotes
* the name of the field to boost in the query, and the value the boost value.
* @returns The query
* @type org.apache.lucene.search.Query
*/
jala.IndexManager.prototype.parseQuery = function(queryStr, fields, boostMap) {
if (queryStr == null || typeof(queryStr) !== "string") {
throw "IndexManager.parseQuery(): missing or invalid query string";
}
if (fields == null || fields.constructor !== Array || fields.length < 1) {
throw "IndexManager.parseQuery(): missing fields argument";
}
var query = null;
var analyzer = this.getIndex().getAnalyzer();
var pkg = Packages.org.apache.lucene;
var map = null;
if (boostMap != null) {
// convert the javascript object into a HashMap
map = new java.util.HashMap();
for (var name in boostMap) {
map.put(name, new java.lang.Float(boostMap[name]));
}
}
var parser;
try {
if (fields.length > 1) {
parser = new pkg.queryParser.MultiFieldQueryParser(fields, analyzer, map);
} else {
parser = new pkg.queryParser.QueryParser(fields, analyzer);
}
query = parser.parse(queryStr);
} catch (e) {
// ignore, but write a message to debug log
app.logger.debug("Unable to construct search query '" + queryStr +
"', reason: " + e);
}
return query;
};
/**
* Parses the query passed as argument and returns a caching filter. If an array
* with more than one query strings is passed as argument, this method constructs
* a boolean query filter where all queries in the array must match.
* @param {String|Array} query Either a query string, or an array containing
* one or more query strings
* @param {org.apache.lucene.analysis.Analyzer} analyzer Optional analyzer
* to use when parsing the filter query
* @returns A caching query filter
* @type org.apache.lucene.search.CachingWrapperFilter
*/
jala.IndexManager.prototype.parseQueryFilter = function(query, analyzer) {
var filter = null;
if (query != null) {
var pkg = Packages.org.apache.lucene;
// use the index' analyzer if none has been specified
if (analyzer == null) {
analyzer = this.getIndex().getAnalyzer();
}
var parser = new pkg.queryParser.QueryParser("", analyzer);
var filterQuery;
try {
if (query.constructor === Array) {
if (query.length > 1) {
filterQuery = new pkg.search.BooleanQuery();
query.forEach(function(queryStr){
filterQuery.add(parser.parse(queryStr), pkg.search.BooleanClause.Occur.MUST);
}, this);
} else {
filterQuery = parser.parse(query[0]);
}
} else {
filterQuery = parser.parse(query);
}
filter = new pkg.search.CachingWrapperFilter(new pkg.search.QueryWrapperFilter(filterQuery));
} catch (e) {
app.logger.debug("Unable to parse query filter '" + query + "', reason: " + e);
}
}
return filter;
};
/*********************
***** J O B *****
*********************/
/**
* Creates a new Job instance.
* @class Instances of this class represent a single index
* manipulation job to be processed by the index manager.
* @param {Number} id The Id of the job
* @param {Number} type The type of job, which can be either
* jala.IndexManager.Job.ADD, jala.IndexManager.Job.REMOVE
* or jala.IndexManager.Job.OPTIMIZE.
* @param {Object} data The data needed to process the job.
* @returns A newly created Job instance.
* @constructor
* @see jala.IndexManager.Job
*/
jala.IndexManager.Job = function(type, callback) {
/**
* The type of the job
* @type Number
*/
this.type = type;
/**
* The data needed to process this job. For adding jobs this property
* must contain the {@link helma.Search.Document} instance to add to
* the index. For removal job this property must contain the unique identifier
* of the document that should be removed from the index. For optimizing
* jobs this property is null.
*/
this.callback = callback;
/**
* An internal error counter which is increased whenever processing
* the job failed.
* @type Number
* @see jala.IndexManager.MAXTRIES
*/
this.errors = 0;
/**
* The date and time at which this job was created.
* @type Date
*/
this.createtime = new Date();
return this;
};
/** @ignore */
jala.IndexManager.Job.prototype.toString = function() {
return "[Job (type: " + this.type + ")]";
};
/**
* Constant defining an add job
* @type Number
* @final
*/
jala.IndexManager.Job.ADD = "add";
/**
* Constant defining a removal job
* @type Number
* @final
*/
jala.IndexManager.Job.REMOVE = "remove";
/**
* Constant defining an optimizing job
* @type Number
* @final
*/
jala.IndexManager.Job.OPTIMIZE = "optimize";

File diff suppressed because it is too large Load diff

1521
modules/jala/code/Mp3.js Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,129 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.PodcastWriter class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Jala dependencies
*/
app.addRepository(getProperty("jala.dir", "modules/jala") +
"/code/Rss20Writer.js");
/**
* @class Class to create, modify and render standard-compliant
* RSS 2.0 feeds including support for Apple's Podcast specification.
* @constructor
* @extends jala.Rss20Writer
* @param {String} header Optional XML header.
*/
jala.PodcastWriter = function(header) {
jala.Rss20Writer.apply(this, arguments);
var CATEGORY = {
name: "itunes:category",
attributes: {
name: "text"
}
};
var OWNER = {
name: "itunes:owner",
value: [{
name: "itunes:name"
}, {
name: "itunes:email"
}]
};
this.addNamespace("itunes", "http://www.itunes.com/dtds/podcast-1.0.dtd");
this.extendChannel([{
name: "itunes:author"
}, {
name: "itunes:subtitle"
}, {
name: "itunes:summary"
}, {
name: "itunes:new-feed-url"
}, {
name: "itunes:image",
attributes: [{
name: "href"
}]
}, {
name: "itunes:link",
attributes: [{
name: "rel"
}, {
name: "type"
}, {
name: "href"
}]
}]);
this.getChannel().setValue(this.createElement(OWNER));
this.extendItem([{
name: "itunes:duration"
}, {
name: "itunes:subtitle"
}]);
/**
* Add an iTunes Podcast category.
* @param {String} name The category's name.
* @param {String} subName The (optional) sub-category's name.
* @param {jala.XmlWriter.XmlElement} parent Optional parent
* element to add the category to.
*/
this.addItunesCategory = function(name, subName, parent) {
if (!parent)
parent = this.getChannel();
var cat = this.createElement(CATEGORY);
cat.populate({attributes: {text: name}});
if (subName) {
var subCat = this.createElement(CATEGORY);
subCat.populate({attributes: {text: subName}});
cat.addValue(subCat);
}
parent.addValue(cat);
return;
};
return this;
};
/** A typical XML header as default.
@type String @final */
jala.PodcastWriter.XMLHEADER = '<?xml version="1.0" encoding="UTF-8"?>';

View file

@ -0,0 +1,307 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.RemoteContent class.
*/
// HelmaLib dependencies
app.addRepository("modules/core/String.js");
app.addRepository("modules/core/Object.js");
app.addRepository("modules/core/Date.js");
app.addRepository("modules/helma/Http.js");
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Construct a new remote content handler.
* @class API to define, fetch and update content
* from a remote site.
* @param {String} url The URL string of the remote site.
* @param {Integer} method The method to retrieve the remote content.
* @param {File} storage The cache directory.
* @returns A new remote content handler.
* @extends helma.Http
* @constructor
*/
jala.RemoteContent = function(url, method, storage) {
if (typeof PropertyMgr == "undefined")
var PropertyMgr = {};
var NULLSTR = "";
var key = url.md5();
var fname = key + jala.RemoteContent.SUFFIX;
var cache;
method = (method != null ? method.toLowerCase() : null);
// depending on the method argument the instance
// becomes extent of the appropriate remote client
switch (method) {
case jala.RemoteContent.XMLRPC:
break;
default:
helma.Http.call(this);
break;
}
if (!storage) {
storage = jala.RemoteContent.CACHEDIR;
if (!storage.exists() || !storage.isDirectory())
storage.mkdir(storage.getAbsolutePath());
}
var getCache = function() {
switch (storage.constructor) {
case HopObject:
cache = storage;
break;
case PropertyMgr:
cache = storage.getAll();
break;
default:
var f = new File(storage, fname);
cache = f.exists() ? Xml.read(f) : new HopObject();
}
return cache;
};
var setCache = function() {
cache.url = url;
cache.method = method;
if (!cache.interval) {
cache.interval = Date.ONEHOUR;
}
cache.lastUpdate = new Date();
cache = cache.clone(new HopObject());
switch (storage.constructor) {
case HopObject:
for (var i in cache)
storage[i] = cache[i];
break;
case PropertyMgr:
storage.setAll(cache);
break;
default:
var f = new File(storage, fname);
Xml.write(cache, f);
}
return;
};
cache = getCache();
/**
* Set the interval the remote content's
* cache is bound to be updated.
* @param {Number} interval The interval value in milliseconds.
*/
this.setInterval = function(interval) {
cache.interval = parseInt(interval, 10);
return;
};
/**
* Get an arbitrary property of the remote content.
* @param {String} key The name of the property.
* @returns The value of the property.
*/
this.get = function(key) {
return cache[key];
}
/**
* Get all available property names.
* @returns The list of property names.
* @type Array
*/
this.getKeys = function() {
var keys = [];
for (var i in cache) {
keys.push(i);
}
return keys.sort();
};
/**
* Tests whether the remote content needs to be updated.
* @returns True if the remote content needs to be updated.
* @type Boolean
*/
this.needsUpdate = function() {
if (!cache.lastUpdate) {
return true;
} else {
var max = new Date() - cache.interval;
if (max - cache.lastUpdate > 0) {
return true;
}
}
return false;
};
/**
* Get the updated and cached remote content.
* @returns The content as retrieved from the remote site.
* @type String
*/
this.update = function() {
app.debug("[jala.RemoteContent] Retrieving " + url);
var result;
switch (method) {
case jala.RemoteContent.XMLRPC:
break;
default:
result = this.getUrl(url, cache.lastModified || cache.eTag);
if (result.code != 200 && cache.content) {
// preserve the content received before
result.content = cache.content;
}
result.interval = cache.interval;
cache = result;
}
setCache();
return cache.content;
};
/**
* Flushes (empties) the cached remote content.
*/
this.clear = function() {
switch (storage.constructor) {
case HopObject:
for (var i in storage)
delete storage[i];
break;
case PropertyMgr:
storage.reset();
break;
default:
var f = new File(storage, fname);
f.remove();
}
return;
};
/**
* Get a string representation of the remote content.
* @returns The remote content as string.
* @type String
*/
this.toString = function() {
return cache.content || NULLSTR;
};
/**
* Get the value of the remote content.
* @returns The remote content including response header data.
* @type Object
*/
this.valueOf = function() {
return cache;
};
return this;
};
/**
* A constant representing the HTTP retrieval method.
* @type int
* @final
*/
jala.RemoteContent.HTTP = 1;
/**
* A constant representing the XML-RPC retrieval method.
* @type int
* @final
*/
jala.RemoteContent.XMLRPC = 2;
/**
* The default name of the cache directory.
* @type String
* @final
*/
jala.RemoteContent.SUFFIX = ".cache";
/**
* The default cache directory.
* @type File
* @final
*/
jala.RemoteContent.CACHEDIR = new File(app.dir, jala.RemoteContent.SUFFIX);
/**
* Remove all remote content from a file-based cache.
* @param {File} cache An optional target directory.
*/
jala.RemoteContent.flush = function(cache) {
jala.RemoteContent.forEach(function(rc) {
rc.clear();
return;
});
return;
};
/**
* Apply a custom method on all remote content in a file-based cache.
* @param {Function} callback The callback method to be executed
* for each remote content file.
* @param {File} cache An optional target directory.
*/
jala.RemoteContent.forEach = function(callback, cache) {
if (!cache)
cache = jala.RemoteContent.CACHEDIR;
var f, rc;
var files = cache.list();
for (var i in files) {
f = new File(cache, files[i]);
if (!files[i].endsWith(jala.RemoteContent.SUFFIX))
continue;
rc = new jala.RemoteContent(Xml.read(f).url);
if (callback && callback.constructor == Function)
callback(rc);
}
return;
};
/**
* Apply a custom method on all remote content in a file-based cache.
* @param {Function} callback The callback method to be executed
* for each remote content file.
* @param {File} cache An optional target directory.
* @deprecated Use {@link #forEach} instead.
*/
jala.RemoteContent.exec = function() {
jala.RemoteContent.forEach.apply(this, arguments);
};

View file

@ -0,0 +1,334 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.Rss20Writer class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Jala dependencies
*/
app.addRepository(getProperty("jala.dir", "modules/jala") +
"/code/XmlWriter.js");
/**
* @class Class to create, modify and render standard-compliant
* RSS 2.0 feeds.
* @constructor
* @extends jala.XmlWriter
* @param {String} header Optional XML header.
*/
jala.Rss20Writer = function(header) {
// defines the prototype of this constructor
jala.XmlWriter.apply(this, arguments);
// this should do the same but alas, helma throws
// an error the very first time it is executed:
//arguments.callee.prototype = new jala.XmlWriterInterface();
var DATEFMT = "EEE, dd MMM yyyy HH:mm:ss Z";
var CATEGORY = {
name: "category",
amount: Infinity,
attributes: {
name: "domain",
}
};
var ITEM = {
name: "item",
amount: Infinity,
value: [{
name: "title",
required: true
}, {
name: "link",
}, {
name: "description",
}, {
name: "author",
}, {
name: "comments",
}, {
name: "enclosure",
attributes: [{
name: "url",
required: true
}, {
name: "length",
required: true
}, {
name: "type",
required: true
}]
}, {
name: "guid",
attributes: [{
name: "isPermaLink",
type: Boolean
}]
}, {
name: "pubDate",
type: Date,
format: DATEFMT
}, {
name: "source",
attributes: [{
name: "url",
required: true
}]
}]
};
var CHANNEL = {
name: "channel",
value: [{
name: "title",
required: true
}, {
name: "link",
required: true
}, {
name: "description",
required: true
}, {
name: "language",
}, {
name: "copyright",
}, {
name: "managingEditor",
}, {
name: "webMaster",
}, {
name: "pubDate",
type: Date,
format: DATEFMT
}, {
name: "lastBuildDate",
type: Date,
format: DATEFMT
}, {
name: "generator",
}, {
name: "docs",
}, {
name: "cloud",
attributes: [{
name: "domain",
}, {
name: "port",
type: Number,
format: "#"
}, {
name: "path",
}, {
name: "registerProcedure",
}, {
name: "protocol",
}]
}, {
name: "ttl",
type: Number,
format: "#"
}, {
name: "rating",
}, {
name: "skipHours",
}, {
name: "skipDays",
}]
};
var IMAGE = {
name: "image",
value: [{
name: "url",
required: true
}, {
name: "title",
required: true
}, {
name: "link",
required: true
}, {
name: "width",
type: Number,
format: "#"
}, {
name: "height",
type: Number,
format: "#"
}, {
name: "description",
}]
};
var TEXTINPUT = {
name: "textinput",
value: [{
name: "title",
required: true
}, {
name: "description",
required: true
}, {
name: "name",
required: true
}, {
name: "link",
required: true
}]
};
var ROOT = {
name: "rss",
attributes: [{
name: "version",
value: "2.0"
}]
};
var xmlroot = this.createElement(ROOT);
var channel = this.createElement(CHANNEL);
xmlroot.setValue(channel);
/**
* Get the writer's root element.
* @returns The writer's root element.
* @type jala.XmlWriter.XmlElement
*/
this.getRoot = function() {
return xmlroot;
};
/**
* Add child elements to the channel template.
* @param {Array} ext List of additional child elements.
*/
this.extendChannel = function(ext) {
this.extend(CHANNEL, ext);
channel = this.createElement(CHANNEL);
xmlroot.setValue(channel);
return;
};
/**
* Get the writer's channel element.
* @returns The writer's channel element.
* @type jala.XmlWriter.XmlElement
*/
this.getChannel = function() {
return channel;
};
/**
* Populate the channel element with data.
* @param {Object} data An XmlWriter-compliant object structure.
* @returns The populated channel element.
* @type jala.XmlWriter.XmlElement
*/
this.setChannel = function(data) {
return channel.populate(data);
};
/**
* Add child elements to the item template.
* @param {Array} ext List of additional child elements.
*/
this.extendItem = function(ext) {
this.extend(ITEM, ext);
return;
};
/**
* Get a new and innocent item element.
* @param {Object} data An XmlWriter-compliant object structure.
* @returns A new and innocent item element.
* @type jala.XmlWriter.XmlElement
*/
this.createItem = function(data) {
var item = this.createElement(ITEM);
item.populate(data);
return item;
};
/**
* Add an item element to the channel element.
* @param {jala.XmlWriter.XmlElement} item The item element to add.
*/
this.addItem = function(item) {
channel.addValue(item);
return;
};
/**
* Add a category element to an arbitrary element.
* @param {String} name The name of the category.
* @param {String} domain The domain of the category.
* @param {jala.XmlWriter.XmlElement} parent The optional parent element.
*/
this.addCategory = function(name, domain, parent) {
if (!parent)
parent = channel;
var cat = this.createElement(CATEGORY);
cat.populate({
value: name,
attributes: {domain: domain}
});
parent.addValue(cat);
return;
};
/**
* Populate the image element with data.
* @param {Object} data An XmlWriter-compliant object structure.
*/
this.setImage = function(data) {
var image = this.createElement(IMAGE);
image.populate(data);
channel.setValue(image);
return;
};
/**
* Populate the textInput element with data.
* @param {Object} data An XmlWriter-compliant object structure.
*/
this.setTextInput = function(data) {
var textInput = this.createElement(TEXTINPUT);
textInput.populate(data);
channel.setValue(textInput);
return;
};
return this;
};

View file

@ -0,0 +1,247 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.Utilities class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* HelmaLib dependencies
*/
app.addRepository("modules/core/Number.js");
/**
* Construct a utility object.
* @class This class contains various convenience methods
* which do not fit in any other class.
* @returns A new utitilty object.
* @constructor
*/
jala.Utilities = function() {
return this;
};
/**
* Return a string representation of the utitility class.
* @returns [jala.Utilities]
* @type String
* @ignore FIXME: JSDoc bug
*/
jala.Utilities.toString = function() {
return "[jala.Utilities]";
};
/**
* Return a string representation of the utitility object.
* @returns [jala.Utilities Object]
* @type String
*/
jala.Utilities.prototype.toString = function() {
return "[jala.Utilities Object]";
};
/**
* Default utility class instance.
* @type jala.Utilities
* @final
*/
jala.util = new jala.Utilities();
/**
* Creates a random password with different levels of security.
* @param {Number} len The length of the password (default: 8)
* @param {Number} level The security level
* <ul>
* <li>0 - containing only vowels or consonants (default)</li>
* <li>1 - throws in a number at random position</li>
* <li>2 - throws in a number and a special character at random position</li>
* </ul>
* @returns The resulting password
* @type String
*/
jala.Utilities.prototype.createPassword = function(len, level) {
len = len || 8;
level = level || 0;
var LETTERSONLY = 0;
var WITHNUMBERS = 1;
var WITHSPECIALS = 2;
var vowels = ['a', 'e', 'i', 'o', 'u'];
var consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'];
var specials = ['.', '#', '!', '$', '%', '&', '?'];
var posNum = level > LETTERSONLY ? Math.floor(Math.random() * (len - 2)) : -1;
var posSpecial = level > WITHNUMBERS ? Math.floor(Math.random() * (len - 3)) : -2;
if (posNum == posSpecial) {
posSpecial += 1;
}
res.push();
// loop to create characters:
var i, rnd;
for (i=0; i<(len-level); i+=1) {
if(i % 2 == 0) {
// every 2nd one is a vowel
rnd = Math.floor(Math.random() * vowels.length);
res.write(vowels[rnd]);
} else {
// every 2nd one is a consonant
rnd = Math.floor(Math.random() * consonants.length);
res.write(consonants[rnd]);
}
if (i == posNum) {
// increased password security:
// throw in a number at random
rnd = Math.floor(Math.random() * specials.length);
res.write(String(rnd + 1));
}
if (i == posSpecial) {
// increased password security:
// throw in a number at random
rnd = Math.floor(Math.random() * specials.length);
res.write(specials[rnd]);
}
}
return res.pop();
};
/**
* Static field indicating a removed object property.
* @type Number
* @final
*/
jala.Utilities.VALUE_REMOVED = -1;
/**
* Static field indicating ad added object property.
* @type Number
* @final
*/
jala.Utilities.VALUE_ADDED = 1;
/**
* Static field indicating a modified object property.
* @type Number
* @final
*/
jala.Utilities.VALUE_MODIFIED = 2;
/**
* Returns an array containing the properties that are
* added, removed or modified in one object compared to another.
* @param {Object} obj1 The first of two objects which should be compared
* @param {Object} obj2 The second of two objects which should be compared
* @returns An Object containing all properties that are added, removed
* or modified in the second object compared to the first.
* Each property contains a status field with an integer value
* which can be checked against the static jala.Utility fields
* VALUE_ADDED, VALUE_MODIFIED and VALUE_REMOVED.
* @type Object
*/
jala.Utilities.prototype.diffObjects = function(obj1, obj2) {
var childDiff, value1, value2;
var diff = {};
var foundDiff = false;
for (var propName in obj1) {
if (obj2[propName] === undefined || obj2[propName] === "" || obj2[propName] === null) {
diff[propName] = {status: jala.Utilities.VALUE_REMOVED};
foundDiff = true;
}
}
for (var propName in obj2) {
value1 = obj1[propName];
value2 = obj2[propName];
if (value1 == null) {
diff[propName] = {status: jala.Utilities.VALUE_ADDED,
value: value2};
foundDiff = true;
} else {
switch (value2.constructor) {
case HopObject:
case Object:
if (childDiff = this.diffObjects(value1, value2)) {
diff[propName] = childDiff;
foundDiff = true;
}
break;
default:
if (value2 != null && value2 !== "") {
if (value1 === null || value1 === undefined || value1 === "") {
diff[propName] = {status: jala.Utilities.VALUE_ADDED,
value: value2};
foundDiff = true;
} else if (value1 != value2) {
diff[propName] = {status: jala.Utilities.VALUE_MODIFIED,
value: value2};
foundDiff = true;
}
}
break;
}
}
}
return foundDiff ? diff : null;
};
/**
* Patches an object with a "diff" object created by the
* {@link #diffObjects} method.
* Please mind that this method is recursive, it descends
* along the "diff" object structure.
* @param {Object} obj The Object the diff should be applied to
* @param {Object} diff A "diff" object created by the {@link #diffObjects} method
* @returns The patched Object with all differences applied
* @type Object
*/
jala.Utilities.prototype.patchObject = function(obj, diff) {
var propDiff, value1;
for (var propName in diff) {
propDiff = diff[propName];
value1 = obj[propName];
if (propDiff.status != null) {
switch (propDiff.status) {
case jala.Utilities.VALUE_REMOVED:
// app.debug("applyDiff(): removing property " + propName);
delete obj[propName];
break;
case jala.Utilities.VALUE_ADDED:
case jala.Utilities.VALUE_MODIFIED:
default:
// app.debug("applyDiff(): changing property " + propName + " to " + propDiff.value);
obj[propName] = propDiff.value;
break;
}
} else {
// app.debug("applyDiff(): descending to child object " + propName);
this.patchObject(value1, propDiff);
}
}
return obj;
};

View file

@ -0,0 +1,461 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.XmlRpcRequest class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* A constructor for XmlRpc request objects
* @class Instances of this class provide the necessary functionality
* for issueing XmlRpc requests to a remote service.
* @param {String} url The url of the XmlRpc entry point
* @param {String} methodName The name of the method to call
* @returns A newly created jala.XmlRpcRequest instance
* @constructor
*/
jala.XmlRpcRequest = function(url, methodName) {
/** @ignore */
var proxy = null;
/** @ignore */
var timeout = {
"connect": 0,
"socket": 0
};
/** @ignore */
var debug = false;
/** @ignore */
var credentials = null;
// default input and output encoding
/** @ignore */
var inputEncoding = "UTF-8";
/** @ignore */
var outputEncoding = "UTF-8";
/**
* Returns the URL of this request
* @returns The URL of this request
* @type java.net.URL
*/
this.getUrl = function() {
return new java.net.URL(url);
};
/**
* Sets the proxy host and port. For Java runtimes < 1.5 this method
* sets the appropriate system properties (so this has an effect on
* all requests based on java.net.URL), for all others the proxy
* is only set for this request.
* @param {String} proxyString The proxy string in the form 'fqdn:port'
* (eg. my.proxy.com:3128)
*/
this.setProxy = function(proxyString) {
if (proxyString && proxyString.trim()) {
var idx = proxyString.indexOf(":");
if (idx > 0) {
var host = proxyString.substring(0, idx);
var port = proxyString.substring(idx+1);
if (host != null && port != null) {
if (java.lang.Class.forName("java.net.Proxy") != null) {
// construct a proxy instance
var socket = new java.net.InetSocketAddress(host, port);
proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, socket);
} else {
// the pre jdk1.5 way: set the system properties
var sys = java.lang.System.getProperties();
if (host) {
app.log("[Jala XmlRpc Client] WARNING: setting system http proxy to "
+ host + ":" + port);
sys.put("http.proxySet", "true");
sys.put("http.proxyHost", host);
sys.put("http.proxyPort", port);
}
}
}
}
}
return;
};
/**
* Returns the proxy object. This method will only return
* a value if using a java runtime > 1.5
* @returns The proxy to use for this request
* @type java.net.Proxy
* @see #setProxy
*/
this.getProxy = function() {
return proxy;
};
/**
* Sets the credentials for basic http authentication to
* use with this request.
* @param {String} username The username
* @param {String} password The password
*/
this.setCredentials = function(username, password) {
var str = new java.lang.String(username + ":" + password);
credentials = (new Packages.sun.misc.BASE64Encoder()).encode(str.getBytes());
return;
};
/**
* Returns the credentials of this request
* @returns The base46 encoded credentials of this request
* @type String
*/
this.getCredentials = function() {
return credentials;
};
/**
* Sets the connection timeout to the specified milliseconds.
* @param {Number} millis The timeout to use as connection timeout
*/
this.setTimeout = function(millis) {
timeout.connect = millis;
return;
};
/**
* Sets the socket timeout to the specified milliseconds.
* @param {Number} millis The timeout to use as socket timeout
*/
this.setReadTimeout = function(millis) {
timeout.socket = millis;
return;
};
/**
* Returns the connection timeout of this request
* @returns The connection timeout value in milliseconds
* @type Number
*/
this.getTimeout = function() {
return timeout.connect;
};
/**
* Returns the socket timeout of this request
* @returns The socket timeout value in milliseconds
* @type Number
*/
this.getReadTimeout = function() {
return timeout.socket;
};
/**
* Returns the name of the remote function to call
* @returns The name of the remote function
* @type String
*/
this.getMethodName = function() {
return methodName;
};
/**
* Sets both input and output encoding to the
* specified encoding string
* @param {String} enc The encoding to use for
* both input and output. This must be a valid
* java encoding string.
*/
this.setEncoding = function(enc) {
inputEncoding = enc;
outputEncoding = enc;
return;
};
/**
* Sets the input encoding to the specified encoding string
* @param {String} enc The encoding to use for input. This must be a valid
* java encoding string.
*/
this.setInputEncoding = function(enc) {
inputEncoding = enc;
return;
};
/**
* Sets the output encoding to the specified encoding string
* @param {String} enc The encoding to use for output. This must be a valid
* java encoding string.
*/
this.setOutputEncoding = function(enc) {
outputEncoding = enc;
return;
};
/**
* Returns the input encoding
* @returns The input encoding used by this request
* @type String
*/
this.getInputEncoding = function() {
return inputEncoding;
};
/**
* Returns the output encoding
* @returns The output encoding used by this request
* @type String
*/
this.getOutputEncoding = function() {
return outputEncoding;
};
/**
* Enables or disables the debug mode. If enabled the xml source
* of both request and response is included in the result properties
* 'requestXml' and 'responseXml'
* @param {Boolean} flag True or false.
*/
this.setDebug = function(flag) {
debug = flag;
return;
};
/**
* Returns true if debug is enabled for this request, false otherwise
* @returns True if debugging is enabled, false otherwise
* @type Boolean
*/
this.debug = function() {
return debug == true;
};
return this;
};
/** @ignore */
jala.XmlRpcRequest.prototype.toString = function() {
return "[Jala XmlRpc Request]";
};
/**
* Calling this method executes the remote method using
* the arguments specified.
* @returns The result of this XmlRpc request
* @type Object
*/
jala.XmlRpcRequest.prototype.execute = function(/** [arg1][, arg2][, ...] */) {
// if in debug mode, log the time the request took to event log
if (app.__app__.debug() == true) {
var start = new Date();
}
var tz = java.util.TimeZone.getDefault();
var reqProcessor = new Packages.org.apache.xmlrpc.XmlRpcClientRequestProcessor(tz);
var resProcessor = new Packages.org.apache.xmlrpc.XmlRpcClientResponseProcessor(tz);
// create the result object
var result = {
error: null,
result: null,
requestXml: null,
responseXml: null
};
// convert arguments into their appropriate java representations
var params = new java.util.Vector();
for (var i=0;i<arguments.length;i++) {
params.add(jala.XmlRpcRequest.convertArgument(arguments[i]));
}
var r = new Packages.org.apache.xmlrpc.XmlRpcRequest(this.getMethodName(), params);
var requestBytes = reqProcessor.encodeRequestBytes(r, this.getOutputEncoding());
if (this.debug() == true) {
result.requestXml = String(new java.lang.String(requestBytes));
}
// open the connection
var proxy = this.getProxy();
var url = this.getUrl();
var conn = proxy ? url.openConnection(proxy) : url.openConnection();
conn.setAllowUserInteraction(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent", "Jala XmlRpc Client");
conn.setRequestProperty("Content-Type", "text/xml");
conn.setRequestProperty("Content-Length", requestBytes.length);
// set timeouts if defined and possible
if (parseFloat(java.lang.System.getProperty("java.specification.version"), 10) >= 1.5) {
conn.setConnectTimeout(this.getTimeout());
conn.setReadTimeout(this.getReadTimeout());
} else {
app.logger.debug("WARNING: timeouts can only be using a Java runtime >= 1.5");
}
// set authentication credentials if defined
if (this.getCredentials() != null) {
conn.setRequestProperty("Authorization", "Basic " + this.getCredentials());
}
try {
conn.setDoOutput(true);
var outStream = conn.getOutputStream();
outStream["write(byte[])"](requestBytes);
outStream.flush();
outStream.close();
if (conn.getContentLength() > 0) {
var inStream = conn.getInputStream();
if (this.debug() == true) {
inStream = new java.io.BufferedInputStream(conn.getInputStream());
var outStream = new java.io.ByteArrayOutputStream();
var buf = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 1024);
var bytes;
while ((bytes = inStream.read(buf)) > -1) {
outStream.write(buf, 0, bytes);
}
result.responseXml = outStream.toString(this.getInputEncoding());
inStream.close();
// change the inStream and don't set the input encoding of
// the response processor, since the conversion already happened above
inStream = new java.io.ByteArrayInputStream(outStream.toByteArray());
}
resProcessor.setInputEncoding(this.getInputEncoding());
var parsedResult = resProcessor.decodeResponse(inStream);
if (parsedResult instanceof java.lang.Exception) {
result.error = parsedResult;
} else {
result.result = jala.XmlRpcRequest.convertResult(parsedResult);
}
}
} catch (e) {
result.error = "[Jala XmlRpc Request] Error executing " + this.getMethodName()
+ " with arguments " + jala.XmlRpcRequest.argumentsToString(arguments)
+ ", the error is: " + e.toString();
}
if (app.__app__.debug() == true) {
app.logger.debug("[Jala XmlRpc Request] (" + ((new Date()) - start) + " ms): executed '"
+ this.getMethodName() + "' with arguments: "
+ jala.XmlRpcRequest.argumentsToString(arguments));
}
return result;
};
/**
* Helper method for converting a Javascript object into
* its appropriate Java object.
* @param {Object} obj The Javascript object to convert
* @returns The appropriate Java representation of the object
* @type java.lang.Object
*/
jala.XmlRpcRequest.convertArgument = function(obj) {
var result;
if (obj instanceof Array) {
// convert into Vector
result = new java.util.Vector(obj.length);
for (var i=0;i<obj.length;i++) {
result.add(i, jala.XmlRpcRequest.convertArgument(obj[i]));
}
} else if (obj instanceof Date) {
// convert into java.util.Date
result = new java.util.Date(obj.getTime());
} else if (typeof(obj) == "boolean" || obj instanceof Boolean) {
result = obj;
} else if (typeof(obj) == "string" || obj instanceof String) {
result = obj;
} else if (isNaN(obj) == false) {
// convert into Integer or Double
if (obj - obj.toFixed() > 0) {
result = new java.lang.Double(obj);
} else {
result = new java.lang.Integer(obj);
}
} else if (obj instanceof Object) {
// convert into Hashtable
result = new java.util.Hashtable();
for (var key in obj) {
if (obj[key] != null) {
result.put(key, jala.XmlRpcRequest.convertArgument(obj[key]));
}
}
} else {
result = obj;
}
return result;
};
/**
* Converts a Java object into its appropriate Javascript representation.
* @param {java.lang.Object} obj The Java object to convert
* @returns The appropriate Javascript representation of the Java object
* @type Object
*/
jala.XmlRpcRequest.convertResult = function(obj) {
var result;
if (obj instanceof java.util.Vector) {
// convert into Array
result = [];
var e = obj.elements();
while (e.hasMoreElements()) {
result.push(jala.XmlRpcRequest.convertResult(e.nextElement()));
}
} else if (obj instanceof java.util.Hashtable) {
// convert into Object
result = {};
var e = obj.keys();
var key;
while (e.hasMoreElements()) {
key = e.nextElement();
result[key] = jala.XmlRpcRequest.convertResult(obj.get(key));
}
} else if (obj instanceof java.lang.String) {
result = String(obj);
} else if (obj instanceof java.lang.Number) {
result = Number(obj);
} else if (obj instanceof java.lang.Boolean) {
result = Boolean(obj);
} else if (obj instanceof java.lang.Date) {
result = new Date(obj.getTime());
} else {
result = obj;
}
return result;
};
/**
* Helper method to format an arguments array into
* a string useable for debugging output.
* @param {Object} args An arguments array
* @returns The arguments array formatted as string
* @type String
*/
jala.XmlRpcRequest.argumentsToString = function(args) {
var arr = [];
for (var i=0;i<args.length;i++) {
if (typeof(args[i]) == "string") {
arr.push('"' + args[i] + '"');
} else {
arr.push(args[i]);
}
}
return arr.join(", ");
};

View file

@ -0,0 +1,366 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Fields and methods of the jala.XmlWriter class.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
/**
* Construct a new XML writer.
* @class This class defines a generic interface to write
* arbitrary and validating XML source code. This is done
* by first applying data objects onto template objects,
* both in a specified format. Then, the resulting object
* tree is transformed into XML. Moreover, template objects
* can be extended with other template objects to provide
* full flexibility in inheriting subclasses.
* @param {String} header An optional XML header.
* @returns A new XML writer.
* @constructor
*/
jala.XmlWriter = function(header) {
var self = this;
var XMLHEADER = header ||
'<?xml version="1.0" encoding="iso-8859-15"?>';
var LOCALE = java.util.Locale.ENGLISH;
/** @ignore FIXME: JSDoc bug */
var write = function(str) {
return res.write(str);
};
var writeln = function(str) {
res.write(str);
res.write("\n");
return;
};
var getString = function(data, format) {
if (data == null)
return;
switch (data.constructor) {
case String:
return encodeXml(data);
case Number:
case Date:
if (format && data.format)
return encodeXml(data.format(format, LOCALE));
else if (data.toUTCString)
return encodeXml(data.toUTCString());
else
return encodeXml(data.toString());
break;
case Object:
return null;
}
return encodeXml(data.toString());
};
/** @ignore */
var XmlElement = function(data) {
if (!data)
throw Error("Insufficient arguments to create XmlElement");
var children = {};
var properties = [
"name",
"attributes",
"type",
"required",
"format",
"readonly"
];
if (data.value) {
if (data.value.constructor == Object) {
this.value = [new XmlElement(data.value)];
} else if (data.value.constructor == Array) {
this.value = [];
for (var i in data.value) {
this.value[i] = new XmlElement(data.value[i]);
}
} else
throw Error("Cannot handle unknown type of template value");
}
for (var i in properties) {
var key = properties[i];
this[key] = data[key] || null;
}
if (this.attributes) {
this.attributes = self.clone(this.attributes);
if (this.attributes.constructor == Object)
this.attributes = [this.attributes];
} else {
this.attributes = [];
}
return this;
};
/** @ignore */
XmlElement.toString = function() {
return "[XmlElement constructor]";
};
/** @ignore */
XmlElement.prototype.setValue = function(element) {
if (element.constructor != this.constructor)
throw Error("Invalid type for XmlElement addition");
if (!this.value)
this.value = [];
else {
var pos = this.contains(element);
if (pos > -1)
this.value.splice(pos, 1);
}
this.addValue(element);
return this;
};
/** @ignore */
XmlElement.prototype.addValue = function(element) {
if (element.constructor != this.constructor)
throw Error("Invalid type for XmlElement addition");
if (!this.value)
this.value = [];
this.value.push(element);
return this;
};
/** @ignore */
XmlElement.prototype.contains = function(element) {
if (!this.value || !element)
return -1;
for (var i in this.value) {
if (this.value[i].name == element.name)
return i;
}
return -1;
};
/** @ignore */
XmlElement.prototype.populate = function(data) {
if (this.attributes) {
var value;
for (var i in this.attributes) {
var attr = this.attributes[i];
if (!attr.name)
throw Error("Cannot populate unnamed attribute entry");
if (data && data.attributes)
value = data.attributes[attr.name];
if (data && (data.value || data.attributes) && !value && attr.required) {
throw Error('Missing required ' + (attr.type || Object).name + ' attribute "' +
attr.name + '" in element &lt;' + this.name + '&gt; (' + value + ")");
}
if (value && attr.type && attr.type != value.constructor) {
throw Error('Type mismatch in attribute "' +
this.name + ":" + attr.name + '"');
}
if (value) {
app.debug("populating attribute " + attr.name +
" with " + value.constructor.name + ": " + value.toSource());
}
if (!attr.readonly) {
attr.value = getString(value, attr.format) || attr.value ;
}
}
}
if (data && data.value) // && data.value.constructor == Object)
data = data.value;
if (this.value && data) {
for (var i in this.value) {
var element = this.value[i];
element.populate(data[element.name]);
}
} else {
if (!data && this.required)
throw Error('Missing required element "' + this.name + '"');
if (data && this.type && this.type != data.constructor) {
throw Error('Type mismatch in element "' + this.name + '"');
}
if (data) {
app.debug("populating element &lt;" + this.name + "&gt; with " +
(this.type || Object).name + ": " + data.toSource());
}
if (!this.readonly)
this.value = getString(data, this.format) || this.value;
}
return;
};
/** @ignore */
XmlElement.prototype.write = function(path) {
if (!path)
path = "";
if (!this.value && !this.attributes)
return;
var attrBuffer = new java.lang.StringBuffer();
if (this.attributes) {
for (var a in this.attributes) {
var attr = this.attributes[a];
if (attr.value) {
attrBuffer.append(" " + attr.name + '="');
attrBuffer.append(attr.value);
attrBuffer.append('"');
}
}
}
var attrSize = attrBuffer.length();
if (!this.value && attrSize < 1)
return;
write("<" + this.name);
if (attrSize > 0) {
display = true;
write(attrBuffer.toString());
}
if (this.value) {
write(">");
if (this.value && this.value.constructor == Array) {
for (var i in this.value)
this.value[i].write(path+"/"+this.name);
} else
write(this.value);
write("</" + this.name + ">\n");
} else
write("/>\n");
return;
};
/** @ignore */
XmlElement.prototype.toString = function() {
return "[XmlElement: " + this.toSource() + "]";
};
/**
* Get a newly created XML element.
* @param {Object} data The XML data as object tree.
* @returns The resulting XML element.
* @type jala.XmlWriter.XmlElement
*/
this.createElement = function(data) {
return new XmlElement(data);
};
/**
* Get the root XML element of this writer.
* @returns The root XML element.
* @type jala.XmlWriter.XmlElement
*/
this.getRoot = function() {
return new XmlElement({});
};
/**
* Extend a template object.
* @param {Object} template The template object.
* @param {Object} ext The extension object.
* @returns The XML writer.
* @type jala.XmlWriter
*/
this.extend = function(template, ext) {
if (ext.constructor == Object)
ext = [ext];
if (ext.constructor == Array) {
for (var i in ext)
template.value.push(ext[i]);
}
return this;
};
/**
* Add a namespace to this writer.
* @param {String} name The name of the namespace.
* @param {String} url The URL string of the namespace.
* @returns The XML root element.
* @type jala.XmlWriter.XmlElement
*/
this.addNamespace = function(name, url) {
var ref = this.getRoot();
ref.attributes.push({
name: "xmlns:" + name,
value: url
});
return ref;
};
/**
* Write the XML to the response buffer.
*/
this.write = function() {
res.contentType = "text/xml";
writeln(XMLHEADER);
this.getRoot().write();
return;
};
/**
* Get the XML output as string.
* @returns The XML output.
* @type String
*/
this.toString = function() {
res.push();
this.write();
return res.pop();
};
/**
* Clone this XML writer.
* @param {Object} The clone templare.
* @returns The cloned XML writer.
* @type jala.XmlWriter
*/
this.clone = function(obj) {
if (!obj || typeof obj != "object")
return obj;
var copy = new obj.constructor;
for (var i in obj) {
if (obj[i].constructor == Object ||
obj[i].constructor == Array)
copy[i]= this.clone(obj[i]);
else
copy[i] = obj[i];
}
return copy;
};
return this;
};

74
modules/jala/code/all.js Normal file
View file

@ -0,0 +1,74 @@
//
// Jala Project [http://opensvn.csie.org/traccgi/jala]
//
// Copyright 2004 ORF Online und Teletext GmbH
//
// Licensed under the Apache License, Version 2.0 (the ``License'');
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an ``AS IS'' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Revision$
// $LastChangedBy$
// $LastChangedDate$
// $HeadURL$
//
/**
* @fileoverview Wrapper for automatic inclusion of all Jala modules.
*/
// Define the global namespace for Jala modules
if (!global.jala) {
global.jala = {};
}
(function() {
var packages = [
"AsyncRequest",
"BitTorrent",
"Date",
"DnsClient",
"Captcha",
"Form",
"History",
"HtmlDocument",
"HopObject",
"I18n",
"ImageFilter",
"IndexManager",
"ListRenderer",
"Mp3",
"PodcastWriter",
"RemoteContent",
"Rss20Writer",
"Utilities",
"XmlRpcRequest",
"XmlWriter"
];
var jalaDir = getProperty("jala.dir", "modules/jala");
for (var i in packages) {
app.addRepository(jalaDir + "/code/" + packages[i] + ".js");
}
return;
})();
/**
* Get a string representation of the Jala library.
* @returns [Jala JavaScript Application Library]
* @type String
*/
jala.toString = function() {
return "[Jala JavaScript Application Library]";
};

View file

@ -0,0 +1,692 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
Global
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="Global";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<B>PREV CLASS</B><!--
NEXT CLASS
-->
&nbsp;<A HREF="helma.Http.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Global.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class Global</H2>
<PRE>Object
|
+--<b>Global</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>Global</B>
</DL>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isArray">isArray</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is an array.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isBoolean">isBoolean</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is either a boolean
literal or an instance of Boolean.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isDate">isDate</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is either a Javascript date
or an instance of java.util.Date.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isFunction">isFunction</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is a function.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isNull">isNull</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is null.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isNumber">isNumber</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is either a number,
an instance of Number or of java.lang.Number.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isObject">isObject</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is either a Javascript
object or an instance of java.lang.Object.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isString">isString</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is either a string literal,
an instance of String or of java.lang.String.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!isUndefined">isUndefined</A></B>(&lt;Object&gt; val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the value passed as argument is undefined.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="!s!isArray"><!-- --></A>
<H3>isArray</H3>
<PRE>&lt;static&gt; Boolean <B>isArray</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is an array.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is an array, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isBoolean"><!-- --></A>
<H3>isBoolean</H3>
<PRE>&lt;static&gt; Boolean <B>isBoolean</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is either a boolean
literal or an instance of Boolean.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is a boolean, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isDate"><!-- --></A>
<H3>isDate</H3>
<PRE>&lt;static&gt; Boolean <B>isDate</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is either a Javascript date
or an instance of java.util.Date.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is a date, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isFunction"><!-- --></A>
<H3>isFunction</H3>
<PRE>&lt;static&gt; Boolean <B>isFunction</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is a function.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the argument is a function, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isNull"><!-- --></A>
<H3>isNull</H3>
<PRE>&lt;static&gt; Boolean <B>isNull</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is null.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is null, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isNumber"><!-- --></A>
<H3>isNumber</H3>
<PRE>&lt;static&gt; Boolean <B>isNumber</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is either a number,
an instance of Number or of java.lang.Number.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is a number, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isObject"><!-- --></A>
<H3>isObject</H3>
<PRE>&lt;static&gt; Boolean <B>isObject</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is either a Javascript
object or an instance of java.lang.Object.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is an object, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isString"><!-- --></A>
<H3>isString</H3>
<PRE>&lt;static&gt; Boolean <B>isString</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is either a string literal,
an instance of String or of java.lang.String.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is a string, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!isUndefined"><!-- --></A>
<H3>isUndefined</H3>
<PRE>&lt;static&gt; Boolean <B>isUndefined</B>(&lt;Object&gt; val)</PRE>
<UL>Returns true if the value passed as argument is undefined.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>val</CODE> - The value to test
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the value is undefined, false otherwise
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<B>PREV CLASS</B><!--
NEXT CLASS
-->
&nbsp;<A HREF="helma.Http.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Global.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,581 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
HopObject
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="HopObject";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="helma.Http.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="HopObject.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class HopObject</H2>
<PRE>Object
|
+--<b>HopObject</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>HopObject</B>
</DL>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getAccessName">getAccessName</A></B>(&lt;Object&gt; obj, &lt;Number&gt; maxLength)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a name from an object which
is unique in the underlying HopObject collection.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isClean">isClean</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is CLEAN.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isDeleted">isDeleted</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is DELETED.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isInvalid">isInvalid</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is INVALID.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isModified">isModified</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is MODIFIED.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isNew">isNew</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is NEW.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isTransient">isTransient</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is TRANSIENT.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isVirtual">isVirtual</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the internal state of this HopObject is VIRTUAL.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="getAccessName"><!-- --></A>
<H3>getAccessName</H3>
<PRE>String <B>getAccessName</B>(&lt;Object&gt; obj, &lt;Number&gt; maxLength)</PRE>
<UL>Constructs a name from an object which
is unique in the underlying HopObject collection.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>obj</CODE> - The object representing or containing the alias name. Possible object types include: <ul> <li>File</li> <li>helma.File</li> <li>java.io.File</li> <li>String</li> <li>java.lang.String</li> <li>Packages.helma.util.MimePart</li> </ul>
</UL>
<UL><CODE>maxLength</CODE> - The maximum length of the alias
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The resulting alias
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isClean"><!-- --></A>
<H3>isClean</H3>
<PRE>Boolean <B>isClean</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is CLEAN.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>clean</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isDeleted"><!-- --></A>
<H3>isDeleted</H3>
<PRE>Boolean <B>isDeleted</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is DELETED.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>deleted</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isInvalid"><!-- --></A>
<H3>isInvalid</H3>
<PRE>Boolean <B>isInvalid</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is INVALID.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>invalid</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isModified"><!-- --></A>
<H3>isModified</H3>
<PRE>Boolean <B>isModified</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is MODIFIED.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>modified</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isNew"><!-- --></A>
<H3>isNew</H3>
<PRE>Boolean <B>isNew</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is NEW.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>new</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isTransient"><!-- --></A>
<H3>isTransient</H3>
<PRE>Boolean <B>isTransient</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is TRANSIENT.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>transient</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isVirtual"><!-- --></A>
<H3>isVirtual</H3>
<PRE>Boolean <B>isVirtual</B>()</PRE>
<UL>Returns true if the internal state of this HopObject is VIRTUAL.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if this HopObject is marked as <em>virtual</em>, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="helma.Http.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="HopObject.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,323 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
All Classes
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" All Classes";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary.html" target="classFrame">All Classes</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Global.html" TARGET="classFrame">Global</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="HopObject.html" TARGET="classFrame">HopObject</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.html" TARGET="classFrame">jala</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.AsyncRequest.html" TARGET="classFrame">jala.AsyncRequest</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.BitTorrent.html" TARGET="classFrame">jala.BitTorrent</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Captcha.html" TARGET="classFrame">jala.Captcha</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Date.html" TARGET="classFrame">jala.Date</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Date.Calendar.html" TARGET="classFrame">jala.Date.Calendar</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Date.Calendar.Renderer.html" TARGET="classFrame">jala.Date.Calendar.Renderer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.html" TARGET="classFrame">jala.db</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.FileDatabase.html" TARGET="classFrame">jala.db.FileDatabase</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.RamDatabase.html" TARGET="classFrame">jala.db.RamDatabase</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.Server.html" TARGET="classFrame">jala.db.Server</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.DnsClient.html" TARGET="classFrame">jala.DnsClient</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.DnsClient.Record.html" TARGET="classFrame">jala.DnsClient.Record</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.html" TARGET="classFrame">jala.Form</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.html" TARGET="classFrame">jala.Form.Component</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Button.html" TARGET="classFrame">jala.Form.Component.Button</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Checkbox.html" TARGET="classFrame">jala.Form.Component.Checkbox</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Date.html" TARGET="classFrame">jala.Form.Component.Date</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Fieldset.html" TARGET="classFrame">jala.Form.Component.Fieldset</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.File.html" TARGET="classFrame">jala.Form.Component.File</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Hidden.html" TARGET="classFrame">jala.Form.Component.Hidden</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Image.html" TARGET="classFrame">jala.Form.Component.Image</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Input.html" TARGET="classFrame">jala.Form.Component.Input</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Password.html" TARGET="classFrame">jala.Form.Component.Password</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Radio.html" TARGET="classFrame">jala.Form.Component.Radio</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Select.html" TARGET="classFrame">jala.Form.Component.Select</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Skin.html" TARGET="classFrame">jala.Form.Component.Skin</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Submit.html" TARGET="classFrame">jala.Form.Component.Submit</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Textarea.html" TARGET="classFrame">jala.Form.Component.Textarea</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Tracker.html" TARGET="classFrame">jala.Form.Tracker</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.History.html" TARGET="classFrame">jala.History</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.HtmlDocument.html" TARGET="classFrame">jala.HtmlDocument</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.I18n.html" TARGET="classFrame">jala.I18n</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.ImageFilter.html" TARGET="classFrame">jala.ImageFilter</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.IndexManager.html" TARGET="classFrame">jala.IndexManager</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.IndexManager.Job.html" TARGET="classFrame">jala.IndexManager.Job</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.ListRenderer.html" TARGET="classFrame">jala.ListRenderer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.ListRenderer.ArrayList.html" TARGET="classFrame">jala.ListRenderer.ArrayList</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Mp3.html" TARGET="classFrame">jala.Mp3</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Mp3.Id3v1.html" TARGET="classFrame">jala.Mp3.Id3v1</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Mp3.Id3v2.html" TARGET="classFrame">jala.Mp3.Id3v2</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.PodcastWriter.html" TARGET="classFrame">jala.PodcastWriter</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.RemoteContent.html" TARGET="classFrame">jala.RemoteContent</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Rss20Writer.html" TARGET="classFrame">jala.Rss20Writer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Utilities.html" TARGET="classFrame">jala.Utilities</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.XmlRpcRequest.html" TARGET="classFrame">jala.XmlRpcRequest</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.XmlWriter.html" TARGET="classFrame">jala.XmlWriter</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,322 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Jala 1.3 All Classes
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="Jala 1.3 All Classes";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 CLASS="FrameHeadingFont">Jala 1.3</H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary.html">All Classes</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Global.html" >Global</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="HopObject.html" >HopObject</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.html" >jala</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.AsyncRequest.html" >jala.AsyncRequest</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.BitTorrent.html" >jala.BitTorrent</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Captcha.html" >jala.Captcha</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Date.html" >jala.Date</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Date.Calendar.html" >jala.Date.Calendar</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Date.Calendar.Renderer.html" >jala.Date.Calendar.Renderer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.html" >jala.db</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.FileDatabase.html" >jala.db.FileDatabase</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.RamDatabase.html" >jala.db.RamDatabase</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.db.Server.html" >jala.db.Server</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.DnsClient.html" >jala.DnsClient</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.DnsClient.Record.html" >jala.DnsClient.Record</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.html" >jala.Form</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.html" >jala.Form.Component</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Button.html" >jala.Form.Component.Button</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Checkbox.html" >jala.Form.Component.Checkbox</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Date.html" >jala.Form.Component.Date</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Fieldset.html" >jala.Form.Component.Fieldset</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.File.html" >jala.Form.Component.File</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Hidden.html" >jala.Form.Component.Hidden</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Image.html" >jala.Form.Component.Image</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Input.html" >jala.Form.Component.Input</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Password.html" >jala.Form.Component.Password</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Radio.html" >jala.Form.Component.Radio</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Select.html" >jala.Form.Component.Select</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Skin.html" >jala.Form.Component.Skin</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Submit.html" >jala.Form.Component.Submit</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Component.Textarea.html" >jala.Form.Component.Textarea</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Form.Tracker.html" >jala.Form.Tracker</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.History.html" >jala.History</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.HtmlDocument.html" >jala.HtmlDocument</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.I18n.html" >jala.I18n</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.ImageFilter.html" >jala.ImageFilter</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.IndexManager.html" >jala.IndexManager</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.IndexManager.Job.html" >jala.IndexManager.Job</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.ListRenderer.html" >jala.ListRenderer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.ListRenderer.ArrayList.html" >jala.ListRenderer.ArrayList</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Mp3.html" >jala.Mp3</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Mp3.Id3v1.html" >jala.Mp3.Id3v1</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Mp3.Id3v2.html" >jala.Mp3.Id3v2</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.PodcastWriter.html" >jala.PodcastWriter</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.RemoteContent.html" >jala.RemoteContent</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Rss20Writer.html" >jala.Rss20Writer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.Utilities.html" >jala.Utilities</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.XmlRpcRequest.html" >jala.XmlRpcRequest</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="jala.XmlWriter.html" >jala.XmlWriter</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,331 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Jala 1.3 Constant Values
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" Constant Values";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<CENTER> <H1>Constant Field Values</H1> </CENTER>
<HR>
<UL>
<LI><A HREF="#jala.Form">jala.Form</A></LI>
<LI><A HREF="#jala.IndexManager">jala.IndexManager</A></LI>
<LI><A HREF="#jala.IndexManager.Job">jala.IndexManager.Job</A></LI>
<LI><A HREF="#jala.PodcastWriter">jala.PodcastWriter</A></LI>
<LI><A HREF="#jala.RemoteContent">jala.RemoteContent</A></LI>
<LI><A HREF="#jala.Utilities">jala.Utilities</A></LI>
</UL>
<HR>
<A NAME="jala.Form"></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD colspan="2">
<B><A HREF="jala.Form.html">jala.Form</A></B>
</TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#MINLENGTH">MINLENGTH</A></CODE></TD>
<TD ALIGN="right"><CODE>"minlength"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#MAXLENGTH">MAXLENGTH</A></CODE></TD>
<TD ALIGN="right"><CODE>"maxlength"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#REQUIRE">REQUIRE</A></CODE></TD>
<TD ALIGN="right"><CODE>"require"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#CHECKOPTIONS">CHECKOPTIONS</A></CODE></TD>
<TD ALIGN="right"><CODE>"checkoptions"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#CONTENTTYPE">CONTENTTYPE</A></CODE></TD>
<TD ALIGN="right"><CODE>"contenttype"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#MAXWIDTH">MAXWIDTH</A></CODE></TD>
<TD ALIGN="right"><CODE>"maxwidth"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#MINWIDTH">MINWIDTH</A></CODE></TD>
<TD ALIGN="right"><CODE>"minwidth"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#MAXHEIGHT">MAXHEIGHT</A></CODE></TD>
<TD ALIGN="right"><CODE>"maxheight"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Form.html#MINHEIGHT">MINHEIGHT</A></CODE></TD>
<TD ALIGN="right"><CODE>"minheight"</CODE></TD>
</TR>
</TABLE>
<P>
<P>
<A NAME="jala.IndexManager"></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD colspan="2">
<B><A HREF="jala.IndexManager.html">jala.IndexManager</A></B>
</TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.IndexManager.html#MAXTRIES">MAXTRIES</A></CODE></TD>
<TD ALIGN="right"><CODE>10</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.IndexManager.html#NORMAL">NORMAL</A></CODE></TD>
<TD ALIGN="right"><CODE>1</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.IndexManager.html#REBUILDING">REBUILDING</A></CODE></TD>
<TD ALIGN="right"><CODE>2</CODE></TD>
</TR>
</TABLE>
<P>
<P>
<A NAME="jala.IndexManager.Job"></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD colspan="2">
<B><A HREF="jala.IndexManager.Job.html">jala.IndexManager.Job</A></B>
</TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.IndexManager.Job.html#ADD">ADD</A></CODE></TD>
<TD ALIGN="right"><CODE>"add"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.IndexManager.Job.html#REMOVE">REMOVE</A></CODE></TD>
<TD ALIGN="right"><CODE>"remove"</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.IndexManager.Job.html#OPTIMIZE">OPTIMIZE</A></CODE></TD>
<TD ALIGN="right"><CODE>"optimize"</CODE></TD>
</TR>
</TABLE>
<P>
<P>
<A NAME="jala.PodcastWriter"></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD colspan="2">
<B><A HREF="jala.PodcastWriter.html">jala.PodcastWriter</A></B>
</TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.PodcastWriter.html#XMLHEADER">XMLHEADER</A></CODE></TD>
<TD ALIGN="right"><CODE>'<?xml version="1.0" encoding="UTF-8"?>'</CODE></TD>
</TR>
</TABLE>
<P>
<P>
<A NAME="jala.RemoteContent"></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD colspan="2">
<B><A HREF="jala.RemoteContent.html">jala.RemoteContent</A></B>
</TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.RemoteContent.html#HTTP">HTTP</A></CODE></TD>
<TD ALIGN="right"><CODE>1</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.RemoteContent.html#XMLRPC">XMLRPC</A></CODE></TD>
<TD ALIGN="right"><CODE>2</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.RemoteContent.html#SUFFIX">SUFFIX</A></CODE></TD>
<TD ALIGN="right"><CODE>".cache"</CODE></TD>
</TR>
</TABLE>
<P>
<P>
<A NAME="jala.Utilities"></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD colspan="2">
<B><A HREF="jala.Utilities.html">jala.Utilities</A></B>
</TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Utilities.html#VALUE_ADDED">VALUE_ADDED</A></CODE></TD>
<TD ALIGN="right"><CODE>1</CODE></TD>
</TR>
<TR>
<TD><CODE><A HREF="jala.Utilities.html#VALUE_MODIFIED">VALUE_MODIFIED</A></CODE></TD>
<TD ALIGN="right"><CODE>2</CODE></TD>
</TR>
</TABLE>
<P>
<P>
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,160 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Jala 1.3 API Help
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" API Help";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<CENTER>
<H1>
How This API Document Is Organized</H1>
</CENTER>
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
Class</H3>
<BLOCKQUOTE>
<P>
Each class has its own separate page. Each of these pages has three sections consisting of a class description, summary tables, and detailed member descriptions:<UL>
<LI>Class inheritance diagram<LI>Direct Subclasses<LI>Class declaration<LI>Class description
<P>
<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
<P>
<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
Each summary entry contains the first sentence from the detailed description for that item. </BLOCKQUOTE>
<!--H3>
Tree (Class Hierarchy)</H3>
<BLOCKQUOTE>
There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all classes. The hierarchy page contains a list of classes. The classes are organized by inheritance structure starting with <code>Object</code>.<UL>
</BLOCKQUOTE-->
<!-- H3>
Deprecated API</H3>
<BLOCKQUOTE>
The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE-->
<H3>
Index</H3>
<BLOCKQUOTE>
The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, constructors, methods, and fields.</BLOCKQUOTE>
<H3>
Prev/Next</H3>
These links take you to the next or previous class, interface, package, or related page.<H3>
Frames/No Frames</H3>
These links show and hide the HTML frames. All pages are available with or without frames.
<P>
<FONT SIZE="-1">
<EM>
This help file applies to API documentation generated using the standard doclet.</EM>
</FONT>
<BR>
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Generated Javascript Documentation
</TITLE>
</HEAD>
<FRAMESET cols="20%,80%">
<FRAMESET rows="40%,50%">
<FRAME src="overview-frame.html" name="overviewFrame">
<FRAME src="allclasses-frame.html" name="packageFrame">
</FRAMESET>
<FRAME src="overview-summary.html" name="classFrame">
</FRAMESET>
<NOFRAMES>
<H2>
Frame Alert</H2>
<P>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
<BR>
Link to <A HREF="allclasses-frame.html">Non-frame version.</A></NOFRAMES>
</HTML>

View file

@ -0,0 +1,510 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.AsyncRequest
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.AsyncRequest";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-AsyncRequest.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.BitTorrent.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.AsyncRequest.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.AsyncRequest</H2>
<PRE>Object
|
+--<b>jala.AsyncRequest</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.AsyncRequest</B>
</DL>
<P>
<BR/>This class is used to create requests of type "INTERNAL"
(like cron-jobs) that are processed in a separate thread and
therefor asynchronous.
<BR/><B>Deprecated</B> <I>Use the <a href='http://helma.zumbrunn.net/reference/core/app.html#invokeAsync'>app.invokeAsync</a> method instead (built-in into Helma as of version 1.6)</I><BR/><BR/><I>Defined in <a href='overview-summary-AsyncRequest.js.html'>AsyncRequest.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.AsyncRequest.html#jala.AsyncRequest()">jala.AsyncRequest</A>
</B>
(&lt;Object&gt; obj, &lt;String&gt; funcName, &lt;Array&gt; args)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new AsyncRequest instance.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#evaluate">evaluate</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Starts this asynchronous request.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isAlive">isAlive</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if the underlying thread is alive
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#run">run</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Starts this asynchronous request.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setDelay">setDelay</A></B>(&lt;Number&gt; millis)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Defines the delay to wait before evaluating this asynchronous request.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setTimeout">setTimeout</A></B>(&lt;Number&gt; seconds)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the timeout of this asynchronous request.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.AsyncRequest()"><!-- --></A><H3>
jala.AsyncRequest</H3>
<PRE><B>jala.AsyncRequest</B>(&lt;Object&gt; obj, &lt;String&gt; funcName, &lt;Array&gt; args)</PRE>
<UL>
Creates a new AsyncRequest instance.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>obj</CODE> - Object in whose context the method should be called
</UL>
<UL><CODE>funcName</CODE> - Name of the function to call
</UL>
<UL><CODE>args</CODE> - Array containing the arguments that should be passed to the function (optional). This option is <em>deprecated</em>, instead pass the arguments directly to the <a href="#run">run()</a> method.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A new instance of AsyncRequest
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<UL>
<B>Deprecated</B> <I>Use the <a href='http://helma.zumbrunn.net/reference/core/app.html#invokeAsync'>app.invokeAsync</a> method instead (built-in into Helma as of version 1.6)</I><BR/><BR/>
</UL>
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="evaluate"><!-- --></A>
<H3>evaluate</H3>
<PRE>void <B>evaluate</B>()</PRE>
<UL>Starts this asynchronous request.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>Deprecated</B> <I>Use <a href="#run">run()</a> instead </I><BR/><BR/>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isAlive"><!-- --></A>
<H3>isAlive</H3>
<PRE>Boolean <B>isAlive</B>()</PRE>
<UL>Returns true if the underlying thread is alive</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the underlying thread is alive, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="run"><!-- --></A>
<H3>run</H3>
<PRE>void <B>run</B>()</PRE>
<UL>Starts this asynchronous request. Any arguments passed to
this method will be passed to the method executed by
this AsyncRequest instance.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setDelay"><!-- --></A>
<H3>setDelay</H3>
<PRE>void <B>setDelay</B>(&lt;Number&gt; millis)</PRE>
<UL>Defines the delay to wait before evaluating this asynchronous request.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>millis</CODE> - Milliseconds to wait
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setTimeout"><!-- --></A>
<H3>setTimeout</H3>
<PRE>void <B>setTimeout</B>(&lt;Number&gt; seconds)</PRE>
<UL>Sets the timeout of this asynchronous request.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>seconds</CODE> - Thread-timeout.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-AsyncRequest.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.BitTorrent.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.AsyncRequest.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,879 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.BitTorrent
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.BitTorrent";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-BitTorrent.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.AsyncRequest.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Captcha.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.BitTorrent.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.BitTorrent</H2>
<PRE>Object
|
+--<b>jala.BitTorrent</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.BitTorrent</B>
</DL>
<P>
<BR/>This class provides methods to create a BitTorrent
metadata file from any desired file.
<BR/><I>Defined in <a href='overview-summary-BitTorrent.js.html'>BitTorrent.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.BitTorrent.html#jala.BitTorrent()">jala.BitTorrent</A>
</B>
(&lt;String&gt; filePath, &lt;String&gt; trackerUrl)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new BitTorrent file.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#get">get</A></B>(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get a torrent property.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Date</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getCreationDate">getCreationDate</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get the creation date of the torrent.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Number</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getPieceLength">getPieceLength</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get the piece length of the torrent.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;helma.File</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getSourceFile">getSourceFile</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the underlying source file.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;helma.File</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getTorrentFile">getTorrentFile</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the underlying torrent file.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Array</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#keys">keys</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get all available property names.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#save">save</A></B>(&lt;String&gt; filename)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Saves the torrent as file.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#set">set</A></B>(&lt;String&gt; name, &lt;Object&gt; value)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set a torrent property.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setCreationDate">setCreationDate</A></B>(&lt;Date&gt; date)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the creation date of the torrent.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setPieceLength">setPieceLength</A></B>(&lt;Number&gt; length)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the piece length of the torrent.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#toString">toString</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get a string representation of the torrent.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!bdecode">bdecode</A></B>(&lt;String&gt; code)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
The bdecode method.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!bencode">bencode</A></B>(&lt;Object&gt; obj)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
The bencode method.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.BitTorrent()"><!-- --></A><H3>
jala.BitTorrent</H3>
<PRE><B>jala.BitTorrent</B>(&lt;String&gt; filePath, &lt;String&gt; trackerUrl)</PRE>
<UL>
Constructs a new BitTorrent file.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>filePath</CODE> - The path to the original file.
</UL>
<UL><CODE>trackerUrl</CODE> - The URL string of the tracker.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A new BitTorrent file.
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="get"><!-- --></A>
<H3>get</H3>
<PRE>Object <B>get</B>(&lt;String&gt; name)</PRE>
<UL>Get a torrent property.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - The name of the property.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The value of the property.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getCreationDate"><!-- --></A>
<H3>getCreationDate</H3>
<PRE>Date <B>getCreationDate</B>()</PRE>
<UL>Get the creation date of the torrent.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The torrent's creation date.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getPieceLength"><!-- --></A>
<H3>getPieceLength</H3>
<PRE>Number <B>getPieceLength</B>()</PRE>
<UL>Get the piece length of the torrent.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The torrent's piece length.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getSourceFile"><!-- --></A>
<H3>getSourceFile</H3>
<PRE>helma.File <B>getSourceFile</B>()</PRE>
<UL>Returns the underlying source file.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The source file.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getTorrentFile"><!-- --></A>
<H3>getTorrentFile</H3>
<PRE>helma.File <B>getTorrentFile</B>()</PRE>
<UL>Returns the underlying torrent file.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The torrent file.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="keys"><!-- --></A>
<H3>keys</H3>
<PRE>Array <B>keys</B>()</PRE>
<UL>Get all available property names.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The list of property names.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="save"><!-- --></A>
<H3>save</H3>
<PRE>void <B>save</B>(&lt;String&gt; filename)</PRE>
<UL>Saves the torrent as file.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>filename</CODE> - An optional name for the torrent file. If no name is given it will be composed from name of source file as defined in the torrent plus the ending ".torrent".
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="set"><!-- --></A>
<H3>set</H3>
<PRE>void <B>set</B>(&lt;String&gt; name, &lt;Object&gt; value)</PRE>
<UL>Set a torrent property.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - The name of the property.
</UL>
<UL><CODE>value</CODE> - The property's value.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setCreationDate"><!-- --></A>
<H3>setCreationDate</H3>
<PRE>void <B>setCreationDate</B>(&lt;Date&gt; date)</PRE>
<UL>Set the creation date of the torrent.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>date</CODE> - The desired creation date.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setPieceLength"><!-- --></A>
<H3>setPieceLength</H3>
<PRE>void <B>setPieceLength</B>(&lt;Number&gt; length)</PRE>
<UL>Set the piece length of the torrent.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>length</CODE> - The desired piece length.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="toString"><!-- --></A>
<H3>toString</H3>
<PRE>String <B>toString</B>()</PRE>
<UL>Get a string representation of the torrent.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The torrent as string.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!bdecode"><!-- --></A>
<H3>bdecode</H3>
<PRE>&lt;static&gt; Object <B>bdecode</B>(&lt;String&gt; code)</PRE>
<UL>The bdecode method. Turns an encoded string into
a corresponding JavaScript object structure.
FIXME: Handle with caution...</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>code</CODE> - The encoded string.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The decoded JavaScript structure.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="!s!bencode"><!-- --></A>
<H3>bencode</H3>
<PRE>&lt;static&gt; String <B>bencode</B>(&lt;Object&gt; obj)</PRE>
<UL>The bencode method. Turns an arbitrary JavaScript
object structure into a corresponding encoded
string.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>obj</CODE> - The target JavaScript object.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The encoded string.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-BitTorrent.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.AsyncRequest.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Captcha.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.BitTorrent.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,461 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Captcha
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Captcha";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Captcha.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.BitTorrent.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Date.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Captcha.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Captcha</H2>
<PRE>Object
|
+--<b>jala.Captcha</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Captcha</B>
</DL>
<P>
<BR/>Wrapper class for the
<a href='http://jcaptcha.sourceforge.net/'>JCaptcha library</a>.
A captcha (an acronym for "completely automated public
Turing test to tell computers and humans apart") is a
type of challenge-response test used in computing to
determine whether or not the user is human.
<BR/><I>Defined in <a href='overview-summary-Captcha.js.html'>Captcha.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Captcha.html#jala.Captcha()">jala.Captcha</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Construct a new captcha.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;com.octo.captcha.Captcha</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getCaptcha">getCaptcha</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get a new captcha object.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderImage">renderImage</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Render a new captcha image.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#toString">toString</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get a string representation of the captcha object.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#validate">validate</A></B>(&lt;String&gt; input)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validate a user's input with the prompted captcha.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Captcha()"><!-- --></A><H3>
jala.Captcha</H3>
<PRE><B>jala.Captcha</B>()</PRE>
<UL>
Construct a new captcha.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A new captcha.
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="getCaptcha"><!-- --></A>
<H3>getCaptcha</H3>
<PRE>com.octo.captcha.Captcha <B>getCaptcha</B>()</PRE>
<UL>Get a new captcha object.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
A new captcha object.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderImage"><!-- --></A>
<H3>renderImage</H3>
<PRE>void <B>renderImage</B>()</PRE>
<UL>Render a new captcha image.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="toString"><!-- --></A>
<H3>toString</H3>
<PRE>String <B>toString</B>()</PRE>
<UL>Get a string representation of the captcha object.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
A string representation of the captcha object.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="validate"><!-- --></A>
<H3>validate</H3>
<PRE>Boolean <B>validate</B>(&lt;String&gt; input)</PRE>
<UL>Validate a user's input with the prompted captcha.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>input</CODE> - The user's input.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the user's input matches the captcha.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Captcha.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.BitTorrent.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Date.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Captcha.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,580 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Date.Calendar.Renderer
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Date.Calendar.Renderer";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Date.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Date.Calendar.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.db.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Date.Calendar.Renderer.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Date.Calendar.Renderer</H2>
<PRE>Object
|
+--<b>jala.Date.Calendar.Renderer</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Date.Calendar.Renderer</B>
</DL>
<P>
<BR/>A default renderer to use in conjunction with jala.Date.Calendar
<BR/><I>Defined in <a href='overview-summary-Date.js.html'>Date.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<a href="jala.Date.Calendar.html">jala.Date.Calendar</a></CODE></FONT></TD>
<TD><CODE><B><A HREF="#calendar">calendar</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The calendar utilizing this renderer instance</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;helma.Html</CODE></FONT></TD>
<TD><CODE><B><A HREF="#html">html</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An instance of helma.Html used for rendering the calendar</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Date.Calendar.Renderer.html#jala.Date.Calendar.Renderer()">jala.Date.Calendar.Renderer</A>
</B>
(&lt;<a href="jala.Date.Calendar.html">jala.Date.Calendar</a>&gt; calendar)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a new instance of the default calendar renderer.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderCalendar">renderCalendar</A></B>(&lt;Date&gt; date, &lt;String&gt; body, &lt;Date&gt; prevMonth, &lt;Date&gt; nextMonth)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders the calendar directly to response.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderDay">renderDay</A></B>(&lt;Date&gt; date, &lt;Boolean&gt; isExisting, &lt;Boolean&gt; isSelected)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a single day within the calendar directly to response.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderDayHeader">renderDayHeader</A></B>(&lt;String&gt; text)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a single cell in the calendar day header row directly to response.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderPrevNextLink">renderPrevNextLink</A></B>(&lt;Date&gt; date)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a link to the previous or next month's calendar directly to response.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderRow">renderRow</A></B>(&lt;String&gt; row)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a single calendar row directly to response.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="calendar"><!-- --></A>
<H3>calendar</H3>
<PRE><a href="jala.Date.Calendar.html">jala.Date.Calendar</a>&nbsp;<B>calendar</B></PRE>
<UL>
The calendar utilizing this renderer instance
</UL>
<HR>
<A NAME="html"><!-- --></A>
<H3>html</H3>
<PRE>helma.Html&nbsp;<B>html</B></PRE>
<UL>
An instance of helma.Html used for rendering the calendar
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Date.Calendar.Renderer()"><!-- --></A><H3>
jala.Date.Calendar.Renderer</H3>
<PRE><B>jala.Date.Calendar.Renderer</B>(&lt;<a href="jala.Date.Calendar.html">jala.Date.Calendar</a>&gt; calendar)</PRE>
<UL>
Returns a new instance of the default calendar renderer.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>calendar</CODE> - The calendar utilizing this renderer
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created instance of jala.Date.Calendar.Renderer
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="renderCalendar"><!-- --></A>
<H3>renderCalendar</H3>
<PRE>void <B>renderCalendar</B>(&lt;Date&gt; date, &lt;String&gt; body, &lt;Date&gt; prevMonth, &lt;Date&gt; nextMonth)</PRE>
<UL>Renders the calendar directly to response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>date</CODE> - A date object representing this calendar's month and year. Please mind that the day will be set to the <em>last</em> date in this month.
</UL>
<UL><CODE>body</CODE> - The rendered calendar weeks including the day header (basically the whole kernel of the table).
</UL>
<UL><CODE>prevMonth</CODE> - A date object set to the last available date of the previous month. This can be used to render a navigation link to the previous month.
</UL>
<UL><CODE>nextMonth</CODE> - A date object set to the first available date of the next month. This can be used to render a navigation link to the next month.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderDay"><!-- --></A>
<H3>renderDay</H3>
<PRE>void <B>renderDay</B>(&lt;Date&gt; date, &lt;Boolean&gt; isExisting, &lt;Boolean&gt; isSelected)</PRE>
<UL>Renders a single day within the calendar directly to response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>date</CODE> - A date instance representing the day within the calendar.
</UL>
<UL><CODE>isExisting</CODE> - True if there is a child object in the calendar's collection to which the date cell should link to
</UL>
<UL><CODE>isSelected</CODE> - True if this calendar day should be rendered as selected day.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderDayHeader"><!-- --></A>
<H3>renderDayHeader</H3>
<PRE>void <B>renderDayHeader</B>(&lt;String&gt; text)</PRE>
<UL>Renders a single cell in the calendar day header row directly to response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>text</CODE> - The text to display in the header field.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderPrevNextLink"><!-- --></A>
<H3>renderPrevNextLink</H3>
<PRE>void <B>renderPrevNextLink</B>(&lt;Date&gt; date)</PRE>
<UL>Renders a link to the previous or next month's calendar directly to response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>date</CODE> - A date object set to the previous or next available month. This can be null in case there is no previous or next month.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderRow"><!-- --></A>
<H3>renderRow</H3>
<PRE>void <B>renderRow</B>(&lt;String&gt; row)</PRE>
<UL>Renders a single calendar row directly to response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>row</CODE> - The body of the calendar row.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Date.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Date.Calendar.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.db.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Date.Calendar.Renderer.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,911 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Date.Calendar
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Date.Calendar";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Date.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Date.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Date.Calendar.Renderer.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Date.Calendar.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Date.Calendar</H2>
<PRE>Object
|
+--<b>jala.Date.Calendar</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Date.Calendar</B>
</DL>
<P>
<BR/>This class represents a calendar based based on a grouped
collection of HopObjects. It provides several methods for rendering
the calendar plus defining locale and timezone settings.
<BR/><I>Defined in <a href='overview-summary-Date.js.html'>Date.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="inner_classes"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Date.Calendar.Renderer.html">jala.Date.Calendar.Renderer</A></B></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Date.Calendar.html#jala.Date.Calendar()">jala.Date.Calendar</A>
</B>
(&lt;<a href="HopObject.html">HopObject</a>&gt; collection)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new instance of jala.Data.Calendar
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getAccessNameFormat">getAccessNameFormat</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the format of the access name used by this calendar to access
child group objects of the collection this calendar is operating on.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getCalendar">getCalendar</A></B>(today)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a rendered calendar
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;<a href="HopObject.html">HopObject</a></CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getCollection">getCollection</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the collection this calendar object works on
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getHrefFormat">getHrefFormat</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the date formatting pattern used to render hrefs.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;java.util.Locale</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getLocale">getLocale</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the locale used within this calendar instance.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getRenderer">getRenderer</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the renderer used by this calendar.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;java.util.Locale</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getTimeZone">getTimeZone</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the locale used within this calendar instance.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#render">render</A></B>(today)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders the calendar using either a custom renderer defined
using <a href="#setRenderer">setRenderer()</a> or the default one.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setAccessNameFormat">setAccessNameFormat</A></B>(&lt;String&gt; fmt)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the format of the group name to use when trying to access
child objects of the collection this calendar is operating on.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setHrefFormat">setHrefFormat</A></B>(&lt;String&gt; fmt)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the format of the hrefs to render by this calendar
to the format pattern passed as argument.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setLocale">setLocale</A></B>(&lt;java.util.Locale&gt; loc)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the locale to use within this calendar object
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setRenderer">setRenderer</A></B>(&lt;Object&gt; r)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the renderer to use.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setTimeZone">setTimeZone</A></B>(tz)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the locale to use within this calendar object
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Date.Calendar()"><!-- --></A><H3>
jala.Date.Calendar</H3>
<PRE><B>jala.Date.Calendar</B>(&lt;<a href="HopObject.html">HopObject</a>&gt; collection)</PRE>
<UL>
Creates a new instance of jala.Data.Calendar
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>collection</CODE> - A grouped HopObject collection to work on
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created jala.Date.Calendar instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="getAccessNameFormat"><!-- --></A>
<H3>getAccessNameFormat</H3>
<PRE>String <B>getAccessNameFormat</B>()</PRE>
<UL>Returns the format of the access name used by this calendar to access
child group objects of the collection this calendar is operating on.
The default format is "yyyyMMdd".</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The date formatting pattern used to access child objects
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#setAccessNameFormat">setAccessNameFormat()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getCalendar"><!-- --></A>
<H3>getCalendar</H3>
<PRE>String <B>getCalendar</B>(today)</PRE>
<UL>Returns a rendered calendar</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#renderCalendar">renderCalendar</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getCollection"><!-- --></A>
<H3>getCollection</H3>
<PRE><a href="HopObject.html">HopObject</a> <B>getCollection</B>()</PRE>
<UL>Returns the collection this calendar object works on</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The HopObject collection of this calendar
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getHrefFormat"><!-- --></A>
<H3>getHrefFormat</H3>
<PRE>String <B>getHrefFormat</B>()</PRE>
<UL>Returns the date formatting pattern used to render hrefs. The default
format is "yyyyMMdd".</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The date formatting pattern
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#setHrefFormat">setHrefFormat()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getLocale"><!-- --></A>
<H3>getLocale</H3>
<PRE>java.util.Locale <B>getLocale</B>()</PRE>
<UL>Returns the locale used within this calendar instance. By default
the locale used by this calendar is the default locale of the
Java Virtual Machine running Helma.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The locale of this calendar
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#setLocale">setLocale()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getRenderer"><!-- --></A>
<H3>getRenderer</H3>
<PRE>Object <B>getRenderer</B>()</PRE>
<UL>Returns the renderer used by this calendar.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The calendar renderer
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#setRenderer">setRenderer()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getTimeZone"><!-- --></A>
<H3>getTimeZone</H3>
<PRE>java.util.Locale <B>getTimeZone</B>()</PRE>
<UL>Returns the locale used within this calendar instance. By default
the timezone used by this calendar is the default timezone
of the Java Virtual Machine running Helma.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The locale of this calendar
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#setTimeZone">setTimeZone()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="render"><!-- --></A>
<H3>render</H3>
<PRE>void <B>render</B>(today)</PRE>
<UL>Renders the calendar using either a custom renderer defined
using <a href="#setRenderer">setRenderer()</a> or the default one.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#setRenderer">setRenderer()</a><BR/>- <a href="jala.Date.Calendar.Renderer.html#">jala.Date.Calendar.Renderer</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setAccessNameFormat"><!-- --></A>
<H3>setAccessNameFormat</H3>
<PRE>void <B>setAccessNameFormat</B>(&lt;String&gt; fmt)</PRE>
<UL>Sets the format of the group name to use when trying to access
child objects of the collection this calendar is operating on.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>fmt</CODE> - The date format pattern to use for accessing child objects
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#getAccessNameFormat">getAccessNameFormat()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setHrefFormat"><!-- --></A>
<H3>setHrefFormat</H3>
<PRE>void <B>setHrefFormat</B>(&lt;String&gt; fmt)</PRE>
<UL>Sets the format of the hrefs to render by this calendar
to the format pattern passed as argument.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>fmt</CODE> - The date format pattern to use for rendering the href
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#getHrefFormat">getHrefFormat()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setLocale"><!-- --></A>
<H3>setLocale</H3>
<PRE>void <B>setLocale</B>(&lt;java.util.Locale&gt; loc)</PRE>
<UL>Sets the locale to use within this calendar object</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>loc</CODE> - The locale to use
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#getLocale">getLocale()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setRenderer"><!-- --></A>
<H3>setRenderer</H3>
<PRE>void <B>setRenderer</B>(&lt;Object&gt; r)</PRE>
<UL>Sets the renderer to use.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>r</CODE> - The renderer to use
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#getRenderer">getRenderer()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setTimeZone"><!-- --></A>
<H3>setTimeZone</H3>
<PRE>void <B>setTimeZone</B>(tz)</PRE>
<UL>Sets the locale to use within this calendar object</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>loc</CODE> - The locale to use
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#getTimeZone">getTimeZone()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Date.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Date.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Date.Calendar.Renderer.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Date.Calendar.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,389 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Date
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Date";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Date.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Captcha.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Date.Calendar.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Date.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Date</H2>
<PRE>Object
|
+--<b>jala.Date</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Date</B>
</DL>
<P>
<BR/>This class provides various convenience
methods for rendering purposes.
<BR/><I>Defined in <a href='overview-summary-Date.js.html'>Date.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="inner_classes"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Date.Calendar.html">jala.Date.Calendar</A></B></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Date.html#jala.Date()">jala.Date</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new Renderings object.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderEditor">renderEditor</A></B>(&lt;String&gt; prefix, &lt;Date&gt; date, &lt;Object&gt; fmt)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a timestamp as set of DropDown boxes, following the
format passed as argument.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderEditorAsString">renderEditorAsString</A></B>(prefix, date, pattern)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a timestamp as set of dropdown-boxes
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Date()"><!-- --></A><H3>
jala.Date</H3>
<PRE><B>jala.Date</B>()</PRE>
<UL>
Constructs a new Renderings object.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="renderEditor"><!-- --></A>
<H3>renderEditor</H3>
<PRE>void <B>renderEditor</B>(&lt;String&gt; prefix, &lt;Date&gt; date, &lt;Object&gt; fmt)</PRE>
<UL>Renders a timestamp as set of DropDown boxes, following the
format passed as argument. Every &lt;select&gt;
item is prefixed with a string so that it can be retrieved
easily from the values of a submitted POST request.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>prefix</CODE> - The prefix to use for all dropdown boxes, eg. "postdate"
</UL>
<UL><CODE>date</CODE> - A Date object to use as preselection (optional)
</UL>
<UL><CODE>fmt</CODE> - Array containing one parameter object for every single select box that should be rendered, with the following properties set: <ul> <li>pattern - The date format pattern that should be rendered. Valid patterns are: "dd", "MM", "yyyy", "HH", "ss".</li> <li>firstOption - The string to use as first option, eg.: "choose a day"</li> </ul>
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderEditorAsString"><!-- --></A>
<H3>renderEditorAsString</H3>
<PRE>String <B>renderEditorAsString</B>(prefix, date, pattern)</PRE>
<UL>Returns a timestamp as set of dropdown-boxes</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#renderEditor">renderEditor()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Date.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Captcha.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Date.Calendar.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Date.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,484 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.DnsClient.Record
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.DnsClient.Record";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-DnsClient.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.DnsClient.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.DnsClient.Record.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.DnsClient.Record</H2>
<PRE>Object
|
+--<b>jala.DnsClient.Record</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.DnsClient.Record</B>
</DL>
<P>
<BR/>Instances of this class wrap record data as received
from the nameserver.
<BR/><I>Defined in <a href='overview-summary-DnsClient.js.html'>DnsClient.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#cname">cname</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The CNAME of this record.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#email">email</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The email address responsible for a name server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#host">host</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the host.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#ipAddress">ipAddress</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The IP address of the host.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#mx">mx</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the mail exchanging server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#text">text</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Descriptive text as received from the nameserver.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#type">type</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The type of the nameserver record represented by this Answer instance.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.DnsClient.Record.html#jala.DnsClient.Record()">jala.DnsClient.Record</A>
</B>
(&lt;org.wonderly.net.dns.RR&gt; data)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new instance of jala.DnsClient.Record.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;org.wonderly.net.dns.RR</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getData">getData</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the wrapped nameserver record data
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="cname"><!-- --></A>
<H3>cname</H3>
<PRE>String&nbsp;<B>cname</B></PRE>
<UL>
The CNAME of this record. This will only be set for records
of type CNAME
</UL>
<HR>
<A NAME="email"><!-- --></A>
<H3>email</H3>
<PRE>String&nbsp;<B>email</B></PRE>
<UL>
The email address responsible for a name server. This property
will only be set for records of type SOA
</UL>
<HR>
<A NAME="host"><!-- --></A>
<H3>host</H3>
<PRE>String&nbsp;<B>host</B></PRE>
<UL>
The name of the host. This will only be set for records
of type A, AAAA and NS.
</UL>
<HR>
<A NAME="ipAddress"><!-- --></A>
<H3>ipAddress</H3>
<PRE>String&nbsp;<B>ipAddress</B></PRE>
<UL>
The IP address of the host. This will only be set for records
of type A and AAAA
</UL>
<HR>
<A NAME="mx"><!-- --></A>
<H3>mx</H3>
<PRE>String&nbsp;<B>mx</B></PRE>
<UL>
The name of the mail exchanging server. This is only set for
records of type MX
</UL>
<HR>
<A NAME="text"><!-- --></A>
<H3>text</H3>
<PRE>String&nbsp;<B>text</B></PRE>
<UL>
Descriptive text as received from the nameserver. This is only
set for records of type TXT
</UL>
<HR>
<A NAME="type"><!-- --></A>
<H3>type</H3>
<PRE>Number&nbsp;<B>type</B></PRE>
<UL>
The type of the nameserver record represented by this Answer instance.
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.DnsClient.Record()"><!-- --></A><H3>
jala.DnsClient.Record</H3>
<PRE><B>jala.DnsClient.Record</B>(&lt;org.wonderly.net.dns.RR&gt; data)</PRE>
<UL>
Constructs a new instance of jala.DnsClient.Record.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>data</CODE> - The data as received from the nameserver
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly constructed Record instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="getData"><!-- --></A>
<H3>getData</H3>
<PRE>org.wonderly.net.dns.RR <B>getData</B>()</PRE>
<UL>Returns the wrapped nameserver record data</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The wrapped data
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-DnsClient.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.DnsClient.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.DnsClient.Record.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,591 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.DnsClient
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.DnsClient";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-DnsClient.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.db.Server.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.DnsClient.Record.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.DnsClient.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.DnsClient</H2>
<PRE>Object
|
+--<b>jala.DnsClient</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.DnsClient</B>
</DL>
<P>
<BR/>This is a wrapper around the Dns Client by wonderly.org
providing methods for querying Dns servers. For more information
about the Java DNS client visit
<a href="https://javadns.dev.java.net/">https://javadns.dev.java.net/</a>.
Please mind that the nameserver specified must accept queries on port
53 TCP (the Java DNS client used doesn't support UDP nameserver queries),
and that reverse lookups are not supported.
<BR/><I>Defined in <a href='overview-summary-DnsClient.js.html'>DnsClient.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="inner_classes"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.DnsClient.Record.html">jala.DnsClient.Record</A></B></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;String</CODE></FONT></TD>
<TD><CODE><B><A HREF="#nameServer">nameServer</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contains the IP Adress/FQDN of the name server to query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_A">TYPE_A</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "A" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_CNAME">TYPE_CNAME</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "CNAME" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_MX">TYPE_MX</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "MX" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_NS">TYPE_NS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "NS" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_PTR">TYPE_PTR</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "PTR" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_SOA">TYPE_SOA</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "SOA" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_TXT">TYPE_TXT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "TXT" record/query type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!TYPE_WKS">TYPE_WKS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "WKS" record/query type.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.DnsClient.html#jala.DnsClient()">jala.DnsClient</A>
</B>
(&lt;String&gt; nameServer)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new DnsClient object.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;org.wonderly.net.dns.RR</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#query">query</A></B>(&lt;String&gt; dName, &lt;Number&gt; queryType)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Queries the nameserver for a specific domain
and the given type of record.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;org.wonderly.net.dns.RR</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#queryMailHost">queryMailHost</A></B>(&lt;String&gt; dName)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Convenience method to query for the MX-records
of the domain passed as argument.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="nameServer"><!-- --></A>
<H3>nameServer</H3>
<PRE>String&nbsp;<B>nameServer</B></PRE>
<UL>
Contains the IP Adress/FQDN of the name server to query.
</UL>
<HR>
<A NAME="!s!TYPE_A"><!-- --></A>
<H3>TYPE_A</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_A</B></PRE>
<UL>
The "A" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_CNAME"><!-- --></A>
<H3>TYPE_CNAME</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_CNAME</B></PRE>
<UL>
The "CNAME" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_MX"><!-- --></A>
<H3>TYPE_MX</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_MX</B></PRE>
<UL>
The "MX" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_NS"><!-- --></A>
<H3>TYPE_NS</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_NS</B></PRE>
<UL>
The "NS" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_PTR"><!-- --></A>
<H3>TYPE_PTR</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_PTR</B></PRE>
<UL>
The "PTR" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_SOA"><!-- --></A>
<H3>TYPE_SOA</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_SOA</B></PRE>
<UL>
The "SOA" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_TXT"><!-- --></A>
<H3>TYPE_TXT</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_TXT</B></PRE>
<UL>
The "TXT" record/query type.
</UL>
<HR>
<A NAME="!s!TYPE_WKS"><!-- --></A>
<H3>TYPE_WKS</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>TYPE_WKS</B></PRE>
<UL>
The "WKS" record/query type.
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.DnsClient()"><!-- --></A><H3>
jala.DnsClient</H3>
<PRE><B>jala.DnsClient</B>(&lt;String&gt; nameServer)</PRE>
<UL>
Constructs a new DnsClient object.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>nameServer</CODE> - IP-Address or FQDN of nameserver to query
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="query"><!-- --></A>
<H3>query</H3>
<PRE>org.wonderly.net.dns.RR <B>query</B>(&lt;String&gt; dName, &lt;Number&gt; queryType)</PRE>
<UL>Queries the nameserver for a specific domain
and the given type of record.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>dName</CODE> - The domain name to query for
</UL>
<UL><CODE>queryType</CODE> - The type of records to retrieve
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The records retrieved from the nameserver
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="queryMailHost"><!-- --></A>
<H3>queryMailHost</H3>
<PRE>org.wonderly.net.dns.RR <B>queryMailHost</B>(&lt;String&gt; dName)</PRE>
<UL>Convenience method to query for the MX-records
of the domain passed as argument.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>dName</CODE> - The domain name to query for
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The records retrieved from the nameserver
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-DnsClient.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.db.Server.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.DnsClient.Record.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.DnsClient.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,411 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Button
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Button";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Checkbox.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Button.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Button</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Button</b>
</PRE>
<DL>
<DT>
<B>Direct Known Subclasses:</B>
<DD>
<a href="jala.Form.Component.Submit.html">jala.Form.Component.Submit</a>
</DD>
</DL>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Button</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders a button.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Button.html#jala.Form.Component.Button()">jala.Form.Component.Button</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new Button component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#render">render</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a button to the response.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(attr, value)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new attribute object for this button.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#checkRequirements">checkRequirements</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Button()"><!-- --></A><H3>
jala.Form.Component.Button</H3>
<PRE><B>jala.Form.Component.Button</B>(&lt;String&gt; name)</PRE>
<UL>
Creates a new Button component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Button component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="render"><!-- --></A>
<H3>render</H3>
<PRE>void <B>render</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a button to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>Object <B>renderControls</B>(attr, value)</PRE>
<UL>Creates a new attribute object for this button.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Object with all attributes set for this button.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Checkbox.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Button.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,460 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Checkbox
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Checkbox";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Button.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Date.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Checkbox.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Checkbox</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Checkbox</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Checkbox</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
checkbox.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Checkbox.html#jala.Form.Component.Checkbox()">jala.Form.Component.Checkbox</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new Checkbox component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkRequirements">checkRequirements</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates user input from checkbox.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Number</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#parseValue">parseValue</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Parses the string input from the form.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders an checkbox to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Checkbox()"><!-- --></A><H3>
jala.Form.Component.Checkbox</H3>
<PRE><B>jala.Form.Component.Checkbox</B>(&lt;String&gt; name)</PRE>
<UL>
Creates a new Checkbox component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Checkbox component instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="checkRequirements"><!-- --></A>
<H3>checkRequirements</H3>
<PRE>String <B>checkRequirements</B>(&lt;Object&gt; reqData)</PRE>
<UL>Validates user input from checkbox.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
null if everything is ok or string containing error message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="parseValue"><!-- --></A>
<H3>parseValue</H3>
<PRE>Number <B>parseValue</B>(&lt;Object&gt; reqData)</PRE>
<UL>Parses the string input from the form. For a checked box, the value is 1,
for an unchecked box the value is 0.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
parsed value
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, reqData)</PRE>
<UL>Renders an checkbox to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Button.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Date.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Checkbox.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,463 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Date
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Date";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Checkbox.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Fieldset.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Date.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Date</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Date</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Date</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
date editor.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Date.html#jala.Form.Component.Date()">jala.Form.Component.Date</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new Date component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkRequirements">checkRequirements</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates user input from a date editor.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Date</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#parseValue">parseValue</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Parses the string input from the form and converts it to a date object.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a textarea tag to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Date()"><!-- --></A><H3>
jala.Form.Component.Date</H3>
<PRE><B>jala.Form.Component.Date</B>(&lt;String&gt; name)</PRE>
<UL>
Constructs a new Date component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Date component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="checkRequirements"><!-- --></A>
<H3>checkRequirements</H3>
<PRE>String <B>checkRequirements</B>(&lt;Object&gt; reqData)</PRE>
<UL>Validates user input from a date editor.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
null if everything is ok or string containing error message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="parseValue"><!-- --></A>
<H3>parseValue</H3>
<PRE>Date <B>parseValue</B>(&lt;Object&gt; reqData)</PRE>
<UL>Parses the string input from the form and converts it to a date object.
Throws an error if the string cannot be parsed.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
parsed date value
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a textarea tag to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Checkbox.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Fieldset.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Date.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,419 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Fieldset
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Fieldset";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Date.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.File.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Fieldset.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Fieldset</H2>
<PRE>Object
|
+--<b>jala.Form.Component.Fieldset</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Fieldset</B>
</DL>
<P>
<BR/>Instances of this class represent a form fieldset containing
numerous form components
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Fieldset.html#jala.Form.Component.Fieldset()">jala.Form.Component.Fieldset</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new Fieldset instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#render">render</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders all components within the fieldset.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#save">save</A></B>(&lt;<a href="jala.Form.Tracker.html">jala.Form.Tracker</a>&gt; tracker, &lt;Object&gt; destObj)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Saves all components within the fieldset.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#validate">validate</A></B>(&lt;<a href="jala.Form.Tracker.html">jala.Form.Tracker</a>&gt; tracker)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates all components within the fieldset.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Fieldset()"><!-- --></A><H3>
jala.Form.Component.Fieldset</H3>
<PRE><B>jala.Form.Component.Fieldset</B>(&lt;String&gt; name)</PRE>
<UL>
Constructs a new Fieldset instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - The name of the fieldset
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Fieldset instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="render"><!-- --></A>
<H3>render</H3>
<PRE>void <B>render</B>()</PRE>
<UL>Renders all components within the fieldset.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="save"><!-- --></A>
<H3>save</H3>
<PRE>void <B>save</B>(&lt;<a href="jala.Form.Tracker.html">jala.Form.Tracker</a>&gt; tracker, &lt;Object&gt; destObj)</PRE>
<UL>Saves all components within the fieldset.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>tracker</CODE> -
</UL>
<UL><CODE>destObj</CODE> -
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="validate"><!-- --></A>
<H3>validate</H3>
<PRE>void <B>validate</B>(&lt;<a href="jala.Form.Tracker.html">jala.Form.Tracker</a>&gt; tracker)</PRE>
<UL>Validates all components within the fieldset.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>tracker</CODE> -
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Date.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.File.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Fieldset.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,425 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.File
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.File";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Fieldset.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Hidden.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.File.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.File</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.File</b>
</PRE>
<DL>
<DT>
<B>Direct Known Subclasses:</B>
<DD>
<a href="jala.Form.Component.Image.html">jala.Form.Component.Image</a>
</DD>
</DL>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.File</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
file upload.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.File.html#jala.Form.Component.File()">jala.Form.Component.File</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new File component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkRequirements">checkRequirements</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates a file upload by making sure it's there (if REQUIRE is set),
checking the file size, the content type and by trying to construct an image.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a file input tag to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.File()"><!-- --></A><H3>
jala.Form.Component.File</H3>
<PRE><B>jala.Form.Component.File</B>(&lt;String&gt; name)</PRE>
<UL>
Creates a new File component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created File component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="checkRequirements"><!-- --></A>
<H3>checkRequirements</H3>
<PRE>String <B>checkRequirements</B>(&lt;Object&gt; reqData)</PRE>
<UL>Validates a file upload by making sure it's there (if REQUIRE is set),
checking the file size, the content type and by trying to construct an image.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
<UL><CODE>tracker</CODE> - jala.Form.Tracker object storing possible error messages
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
null if everything is ok or string containing error message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a file input tag to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Fieldset.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Hidden.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.File.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,398 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Hidden
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Hidden";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.File.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Image.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Hidden.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Hidden</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Hidden</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Hidden</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
hidden input tag.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Hidden.html#jala.Form.Component.Hidden()">jala.Form.Component.Hidden</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a newly created Hidden component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#render">render</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders this component directly to response.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a hidden input tag to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#checkRequirements">checkRequirements</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Hidden()"><!-- --></A><H3>
jala.Form.Component.Hidden</H3>
<PRE><B>jala.Form.Component.Hidden</B>(&lt;String&gt; name)</PRE>
<UL>
Constructs a newly created Hidden component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Hidden component instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="render"><!-- --></A>
<H3>render</H3>
<PRE>void <B>render</B>()</PRE>
<UL>Renders this component directly to response. For a hidden tag, this is
just an input element, no div tag or anything.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a hidden input tag to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.File.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Image.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Hidden.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,376 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Image
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Image";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Hidden.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Input.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Image.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Image</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<a href='jala.Form.Component.File.html'>jala.Form.Component.File</a>
|
+--<b>jala.Form.Component.Image</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Image</B>
<DT>extends <a href='jala.Form.Component.File.html'>jala.Form.Component.File</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.File which renders a file upload
and validates uploaded files as images.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Image.html#jala.Form.Component.Image()">jala.Form.Component.Image</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new Image component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkRequirements">checkRequirements</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates an image upload by making sure it's there (if REQUIRE is set),
checking the file size, the content type and by trying to construct an image.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.File.html">jala.Form.Component.File</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.File.html#renderControls">renderControls</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Image()"><!-- --></A><H3>
jala.Form.Component.Image</H3>
<PRE><B>jala.Form.Component.Image</B>()</PRE>
<UL>
Creates a new Image component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Image component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="checkRequirements"><!-- --></A>
<H3>checkRequirements</H3>
<PRE>String <B>checkRequirements</B>(&lt;Object&gt; reqData)</PRE>
<UL>Validates an image upload by making sure it's there (if REQUIRE is set),
checking the file size, the content type and by trying to construct an image.
If the file is an image, width and height limitations set by require are
checked.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Hidden.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Input.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Image.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,362 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Password
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Password";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Input.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Radio.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Password.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Password</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Password</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Password</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
password input tag.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Password.html#jala.Form.Component.Password()">jala.Form.Component.Password</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a newly created Password component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a password input tag to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#checkRequirements">checkRequirements</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Password()"><!-- --></A><H3>
jala.Form.Component.Password</H3>
<PRE><B>jala.Form.Component.Password</B>(&lt;String&gt; name)</PRE>
<UL>
Constructs a newly created Password component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Password component instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a password input tag to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Input.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Radio.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Password.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,431 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Radio
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Radio";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Password.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Select.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Radio.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Radio</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<a href='jala.Form.Component.Select.html'>jala.Form.Component.Select</a>
|
+--<b>jala.Form.Component.Radio</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Radio</B>
<DT>extends <a href='jala.Form.Component.Select.html'>jala.Form.Component.Select</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
set of radio buttons.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Radio.html#jala.Form.Component.Radio()">jala.Form.Component.Radio</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new Radio component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkRequirements">checkRequirements</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates user input from a set of radio buttons and makes sure that
option value list contains the user input.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a set of radio buttons to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Select.html">jala.Form.Component.Select</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Select.html#parseOptions">parseOptions</a>, <a href="jala.Form.Component.Select.html#checkOptions">checkOptions</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Radio()"><!-- --></A><H3>
jala.Form.Component.Radio</H3>
<PRE><B>jala.Form.Component.Radio</B>(&lt;String&gt; name)</PRE>
<UL>
Creates a new Radio component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Radio component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="checkRequirements"><!-- --></A>
<H3>checkRequirements</H3>
<PRE>String <B>checkRequirements</B>(&lt;Object&gt; reqData)</PRE>
<UL>Validates user input from a set of radio buttons and makes sure that
option value list contains the user input.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
null if everything is ok or string containing error message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="jala.Form.Component.Select.html#checkOptions">jala.Form.Component.Select.checkOptions()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value)</PRE>
<UL>Renders a set of radio buttons to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Password.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Select.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Radio.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,524 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Select
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Select";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Radio.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Skin.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Select.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Select</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Select</b>
</PRE>
<DL>
<DT>
<B>Direct Known Subclasses:</B>
<DD>
<a href="jala.Form.Component.Radio.html">jala.Form.Component.Radio</a>
</DD>
</DL>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Select</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
dropdown element.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Select.html#jala.Form.Component.Select()">jala.Form.Component.Select</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new Select component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkOptions">checkOptions</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Checks user input for optiongroups: Unless require("checkoptions")
has ben set to false, the user input must exist in the option array.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#checkRequirements">checkRequirements</A></B>(&lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Validates user input from a dropdown element by making sure that
the option value list contains the user input.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Array</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#parseOptions">parseOptions</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates an array of options for a dropdown element or a
group of radiobuttons.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a dropdown element to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Select()"><!-- --></A><H3>
jala.Form.Component.Select</H3>
<PRE><B>jala.Form.Component.Select</B>(&lt;String&gt; name)</PRE>
<UL>
Constructs a new Select component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Select component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="checkOptions"><!-- --></A>
<H3>checkOptions</H3>
<PRE>String <B>checkOptions</B>(&lt;Object&gt; reqData)</PRE>
<UL>Checks user input for optiongroups: Unless require("checkoptions")
has ben set to false, the user input must exist in the option array.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
null if everything is ok or string containing error message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="checkRequirements"><!-- --></A>
<H3>checkRequirements</H3>
<PRE>String <B>checkRequirements</B>(&lt;Object&gt; reqData)</PRE>
<UL>Validates user input from a dropdown element by making sure that
the option value list contains the user input.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>reqData</CODE> - request data
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
string containing error message or null if everything is ok.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="jala.Form.Component.Select.html#checkOptions">jala.Form.Component.Select.checkOptions()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="parseOptions"><!-- --></A>
<H3>parseOptions</H3>
<PRE>Array <B>parseOptions</B>()</PRE>
<UL>Creates an array of options for a dropdown element or a
group of radiobuttons. If options field of this element's
config is an array, that array is returned.
If options is a function, its return value is returned.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
array of options
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a dropdown element to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Radio.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Skin.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Select.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,344 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Skin
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Skin";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Select.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Submit.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Skin.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Skin</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.html'>jala.Form.Component</a>
|
+--<b>jala.Form.Component.Skin</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Skin</B>
<DT>extends <a href='jala.Form.Component.html'>jala.Form.Component</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component that allows rendering a skin
within a form.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Skin.html#jala.Form.Component.Skin()">jala.Form.Component.Skin</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#render">render</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders the skin named by this component to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.html">jala.Form.Component</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.html#createDomId">createDomId</a>, <a href="jala.Form.Component.html#validate">validate</a>, <a href="jala.Form.Component.html#save">save</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Skin()"><!-- --></A><H3>
jala.Form.Component.Skin</H3>
<PRE><B>jala.Form.Component.Skin</B>(&lt;String&gt; name)</PRE>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - The name of the component, used as the name of the skin
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Skin component instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="render"><!-- --></A>
<H3>render</H3>
<PRE>void <B>render</B>()</PRE>
<UL>Renders the skin named by this component to the response.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Select.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Submit.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Skin.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,370 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Submit
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Submit";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Skin.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Textarea.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Submit.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Submit</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<a href='jala.Form.Component.Button.html'>jala.Form.Component.Button</a>
|
+--<b>jala.Form.Component.Submit</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Submit</B>
<DT>extends <a href='jala.Form.Component.Button.html'>jala.Form.Component.Button</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Button which renders a submit button.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Submit.html#jala.Form.Component.Submit()">jala.Form.Component.Submit</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new Submit component instance
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(attr, value)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new attribute object for this button.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Button.html">jala.Form.Component.Button</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Button.html#render">render</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#checkRequirements">checkRequirements</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Submit()"><!-- --></A><H3>
jala.Form.Component.Submit</H3>
<PRE><B>jala.Form.Component.Submit</B>(&lt;String&gt; name)</PRE>
<UL>
Creates a new Submit component instance
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Submit component
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>Object <B>renderControls</B>(attr, value)</PRE>
<UL>Creates a new attribute object for this button.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Object with all attributes set for this button.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Skin.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Textarea.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Submit.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,362 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component.Textarea
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component.Textarea";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Submit.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Tracker.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Textarea.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component.Textarea</H2>
<PRE>Object
|
+--<a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
|
+--<b>jala.Form.Component.Textarea</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component.Textarea</B>
<DT>extends <a href='jala.Form.Component.Input.html'>jala.Form.Component.Input</a>
</DL>
<P>
<BR/>Subclass of jala.Form.Component.Input which renders and validates a
textarea input field.
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.Textarea.html#jala.Form.Component.Textarea()">jala.Form.Component.Textarea</A>
</B>
(&lt;String&gt; name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new Textarea component.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#renderControls">renderControls</A></B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Renders a textarea input field to the response.
</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class <a href="jala.Form.Component.Input.html">jala.Form.Component.Input</a></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>
<!-- Inherited methods -->
<a href="jala.Form.Component.Input.html#validate">validate</a>, <a href="jala.Form.Component.Input.html#save">save</a>, <a href="jala.Form.Component.Input.html#getValue">getValue</a>, <a href="jala.Form.Component.Input.html#setValue">setValue</a>, <a href="jala.Form.Component.Input.html#render">render</a>, <a href="jala.Form.Component.Input.html#renderError">renderError</a>, <a href="jala.Form.Component.Input.html#renderLabel">renderLabel</a>, <a href="jala.Form.Component.Input.html#renderHelp">renderHelp</a>, <a href="jala.Form.Component.Input.html#render_macro">render_macro</a>, <a href="jala.Form.Component.Input.html#controls_macro">controls_macro</a>, <a href="jala.Form.Component.Input.html#error_macro">error_macro</a>, <a href="jala.Form.Component.Input.html#label_macro">label_macro</a>, <a href="jala.Form.Component.Input.html#help_macro">help_macro</a>, <a href="jala.Form.Component.Input.html#id_macro">id_macro</a>, <a href="jala.Form.Component.Input.html#name_macro">name_macro</a>, <a href="jala.Form.Component.Input.html#type_macro">type_macro</a>, <a href="jala.Form.Component.Input.html#class_macro">class_macro</a>, <a href="jala.Form.Component.Input.html#getControlAttributes">getControlAttributes</a>, <a href="jala.Form.Component.Input.html#checkLength">checkLength</a>, <a href="jala.Form.Component.Input.html#checkRequirements">checkRequirements</a>, <a href="jala.Form.Component.Input.html#parseValue">parseValue</a>
</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component.Textarea()"><!-- --></A><H3>
jala.Form.Component.Textarea</H3>
<PRE><B>jala.Form.Component.Textarea</B>(&lt;String&gt; name)</PRE>
<UL>
Constructs a new Textarea component.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Name of the component, used as name of the html controls.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Textarea component instance
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="renderControls"><!-- --></A>
<H3>renderControls</H3>
<PRE>void <B>renderControls</B>(&lt;Object&gt; attr, &lt;Object&gt; value, &lt;Object&gt; reqData)</PRE>
<UL>Renders a textarea input field to the response.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>attr</CODE> - Basic attributes for this element.
</UL>
<UL><CODE>value</CODE> - Value to be used for rendering this element.
</UL>
<UL><CODE>reqData</CODE> - Request data for the whole form. This argument is passed only if the form is re-rendered after an error occured.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Submit.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Tracker.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.Textarea.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,550 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Component
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Component";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Button.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Component</H2>
<PRE>Object
|
+--<b>jala.Form.Component</b>
</PRE>
<DL>
<DT>
<B>Direct Known Subclasses:</B>
<DD>
<a href="jala.Form.Component.Skin.html">jala.Form.Component.Skin</a>
</DD>
</DL>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Component</B>
</DL>
<P>
<I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="inner_classes"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Fieldset.html">jala.Form.Component.Fieldset</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Skin.html">jala.Form.Component.Skin</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Input.html">jala.Form.Component.Input</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Password.html">jala.Form.Component.Password</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Hidden.html">jala.Form.Component.Hidden</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Textarea.html">jala.Form.Component.Textarea</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Date.html">jala.Form.Component.Date</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Select.html">jala.Form.Component.Select</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Radio.html">jala.Form.Component.Radio</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Checkbox.html">jala.Form.Component.Checkbox</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.File.html">jala.Form.Component.File</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Image.html">jala.Form.Component.Image</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Button.html">jala.Form.Component.Button</A></B></CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.Form.Component.Submit.html">jala.Form.Component.Submit</A></B></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Component.html#jala.Form.Component()">jala.Form.Component</A>
</B>
(name)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
The abstract base class for all components.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#createDomId">createDomId</A></B>(&lt;String&gt; idPart)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a DOM identifier based on the name of the form,
the name of the component and an additional string.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#render">render</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Function to render a component.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#save">save</A></B>(destObj, val)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Function to save the data of a component.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#validate">validate</A></B>(&lt;<a href="jala.Form.Tracker.html">jala.Form.Tracker</a>&gt; tracker)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Function to validate a component.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Component()"><!-- --></A><H3>
jala.Form.Component</H3>
<PRE><B>jala.Form.Component</B>(name)</PRE>
<UL>
The abstract base class for all components.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="createDomId"><!-- --></A>
<H3>createDomId</H3>
<PRE>String <B>createDomId</B>(&lt;String&gt; idPart)</PRE>
<UL>Creates a DOM identifier based on the name of the form,
the name of the component and an additional string.
The items will be chained using camel casing.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>idPart</CODE> - Optional string appended to component's id.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The DOM Id
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="render"><!-- --></A>
<H3>render</H3>
<PRE>void <B>render</B>()</PRE>
<UL>Function to render a component.
Subclasses of jala.Form.Component may override this function.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="save"><!-- --></A>
<H3>save</H3>
<PRE>void <B>save</B>(destObj, val)</PRE>
<UL>Function to save the data of a component.
Subclasses of jala.Form.Component may override this function.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="validate"><!-- --></A>
<H3>validate</H3>
<PRE>Object <B>validate</B>(&lt;<a href="jala.Form.Tracker.html">jala.Form.Tracker</a>&gt; tracker)</PRE>
<UL>Function to validate a component.
Subclasses of jala.Form.Component may override this function.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>tracker</CODE> - object tracking errors and holding parsed values and request data.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.Form.Component.Button.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Component.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,441 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.Form.Tracker
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.Form.Tracker";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Textarea.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.History.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Tracker.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.Form.Tracker</H2>
<PRE>Object
|
+--<b>jala.Form.Tracker</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.Form.Tracker</B>
</DL>
<P>
<BR/>Instances of this class can contain error-messages and values
<BR/><I>Defined in <a href='overview-summary-Form.js.html'>Form.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#errors">errors</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A map containing error messages</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#reqData">reqData</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A map containing input from request data</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#values">values</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A map containing parsed values (only for those fields that didn't
fail during checkRequirements method).</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.Form.Tracker.html#jala.Form.Tracker()">jala.Form.Tracker</A>
</B>
(reqData)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A generic container for error-messages and values
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Number</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#countErrors">countErrors</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the number of components for which this instance has
tracked an error.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#hasError">hasError</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true if an error has been set for at least one component.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="errors"><!-- --></A>
<H3>errors</H3>
<PRE>Object&nbsp;<B>errors</B></PRE>
<UL>
A map containing error messages
</UL>
<HR>
<A NAME="reqData"><!-- --></A>
<H3>reqData</H3>
<PRE>Object&nbsp;<B>reqData</B></PRE>
<UL>
A map containing input from request data
</UL>
<HR>
<A NAME="values"><!-- --></A>
<H3>values</H3>
<PRE>Object&nbsp;<B>values</B></PRE>
<UL>
A map containing parsed values (only for those fields that didn't
fail during checkRequirements method).
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.Form.Tracker()"><!-- --></A><H3>
jala.Form.Tracker</H3>
<PRE><B>jala.Form.Tracker</B>(reqData)</PRE>
<UL>
A generic container for error-messages and values
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="countErrors"><!-- --></A>
<H3>countErrors</H3>
<PRE>Number <B>countErrors</B>()</PRE>
<UL>Returns the number of components for which this instance has
tracked an error.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Number of components that did not validate.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="hasError"><!-- --></A>
<H3>hasError</H3>
<PRE>Boolean <B>hasError</B>()</PRE>
<UL>Returns true if an error has been set for at least one component.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
true if form encountered an error.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-Form.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Component.Textarea.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.History.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.Form.Tracker.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,635 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.History
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.History";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-History.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Tracker.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.HtmlDocument.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.History.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.History</H2>
<PRE>Object
|
+--<b>jala.History</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.History</B>
</DL>
<P>
<BR/>This class is an implementation of a Browser-like history
stack suitable to use in any Helma application. The difference
to a Browser's history is that this implementation ignores
POST requests and checks if Urls in the stack are still valid to
prevent eg. redirections to a HopObject's url that has been deleted.
Plus it is capable to create new "intermediate" history-stacks
and this way maintain a "history of histories" which is needed for
eg. editing sessions in a popup window that should use their own
request history without interfering with the history of the
main window.
<BR/><I>Defined in <a href='overview-summary-History.js.html'>History.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.History.html#jala.History()">jala.History</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new History object.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#add">add</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Initializes a new history stack, adds
it to the array of stacks (which makes it
the default one to use for further requests)
and records the current request Url.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#clear">clear</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Clears the currently active history stack
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#dump">dump</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the contents of all history stacks
as string
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#peek">peek</A></B>(&lt;Number&gt; offset)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Retrieves the request Url at the given position
in the current history stack.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#pop">pop</A></B>(&lt;Number&gt; offset)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Retrieves the first valid request Url in history
stack starting with a given offset.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#push">push</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Records a request Url in the currently active
history stack.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#redirect">redirect</A></B>(&lt;Number&gt; offset)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Redirects the client back to the first valid
request in history.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#remove">remove</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Removes the current history stack
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.History()"><!-- --></A><H3>
jala.History</H3>
<PRE><B>jala.History</B>()</PRE>
<UL>
Constructs a new History object.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="add"><!-- --></A>
<H3>add</H3>
<PRE>void <B>add</B>()</PRE>
<UL>Initializes a new history stack, adds
it to the array of stacks (which makes it
the default one to use for further requests)
and records the current request Url.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="clear"><!-- --></A>
<H3>clear</H3>
<PRE>void <B>clear</B>()</PRE>
<UL>Clears the currently active history stack</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="dump"><!-- --></A>
<H3>dump</H3>
<PRE>String <B>dump</B>()</PRE>
<UL>Returns the contents of all history stacks
as string</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The history stacks as string
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="peek"><!-- --></A>
<H3>peek</H3>
<PRE>String <B>peek</B>(&lt;Number&gt; offset)</PRE>
<UL>Retrieves the request Url at the given position
in the current history stack. If no offset is given
the last Url in the stack is returned. This method
<em>does not alter the stack contents</em>!</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>offset</CODE> - The index position in history stack to start searching at
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The Url of the request
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="pop"><!-- --></A>
<H3>pop</H3>
<PRE>String <B>pop</B>(&lt;Number&gt; offset)</PRE>
<UL>Retrieves the first valid request Url in history
stack starting with a given offset. The default offset is 1.
Any valid Url found is removed from the stack, therefor
this method <em>alters the contents of the history stack</em>.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>offset</CODE> - The index position in history stack to start searching at
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The Url of the request
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="push"><!-- --></A>
<H3>push</H3>
<PRE>void <B>push</B>()</PRE>
<UL>Records a request Url in the currently active
history stack.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="redirect"><!-- --></A>
<H3>redirect</H3>
<PRE>void <B>redirect</B>(&lt;Number&gt; offset)</PRE>
<UL>Redirects the client back to the first valid
request in history. Please mind that searching for
a valid Url starts at <em>history.length - 2</em>.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>offset</CODE> - The index position in the stack to start searching at
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="remove"><!-- --></A>
<H3>remove</H3>
<PRE>void <B>remove</B>()</PRE>
<UL>Removes the current history stack</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-History.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.Form.Tracker.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.HtmlDocument.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.History.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,483 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.HtmlDocument
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.HtmlDocument";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-HtmlDocument.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.History.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.I18n.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.HtmlDocument.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.HtmlDocument</H2>
<PRE>Object
|
+--<b>jala.HtmlDocument</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.HtmlDocument</B>
</DL>
<P>
<BR/>This class provides easy access to the elements of
an arbitrary HTML document. By using TagSoup, Dom4J and Jaxen
even invalid HTML can be parsed, turned into an object tree
and easily be processed with XPath expressions.
<BR/><I>Defined in <a href='overview-summary-HtmlDocument.js.html'>HtmlDocument.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.HtmlDocument.html#jala.HtmlDocument()">jala.HtmlDocument</A>
</B>
(&lt;String&gt; source)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Construct a new HTML document.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Array</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getAll">getAll</A></B>(&lt;String&gt; elementName)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Retrieves all elements by name from the document.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Array</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getLinks">getLinks</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get all link elements of the HTML document.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;org.dom4j.tree.DefaultElement</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#scrape">scrape</A></B>(&lt;String&gt; xpathExpr)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get all document nodes from an XPath expression.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#toString">toString</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get a string representation of the HTML document.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.HtmlDocument()"><!-- --></A><H3>
jala.HtmlDocument</H3>
<PRE><B>jala.HtmlDocument</B>(&lt;String&gt; source)</PRE>
<UL>
Construct a new HTML document.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>source</CODE> - The HTML source code.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A new HTML document.
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="getAll"><!-- --></A>
<H3>getAll</H3>
<PRE>Array <B>getAll</B>(&lt;String&gt; elementName)</PRE>
<UL>Retrieves all elements by name from the document.
The returned object structure is compatible for usage
in <a href="jala.XmlWriter.html#">jala.XmlWriter</a>.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>elementName</CODE> - The name of the desired element
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The list of available elements in the document
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getLinks"><!-- --></A>
<H3>getLinks</H3>
<PRE>Array <B>getLinks</B>()</PRE>
<UL>Get all link elements of the HTML document.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
A list of link elements.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="scrape"><!-- --></A>
<H3>scrape</H3>
<PRE>org.dom4j.tree.DefaultElement <B>scrape</B>(&lt;String&gt; xpathExpr)</PRE>
<UL>Get all document nodes from an XPath expression.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>xpathExpr</CODE> - An XPath expression.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
A list of HTML elements.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="toString"><!-- --></A>
<H3>toString</H3>
<PRE>String <B>toString</B>()</PRE>
<UL>Get a string representation of the HTML document.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
A string representation of the HTML document.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-HtmlDocument.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.History.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.I18n.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.HtmlDocument.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,951 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.I18n
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.I18n";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-I18n.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.HtmlDocument.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.ImageFilter.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.I18n.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.I18n</H2>
<PRE>Object
|
+--<b>jala.I18n</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.I18n</B>
</DL>
<P>
<BR/>This class provides various functions and macros for
internationalization of Helma applications.
<BR/><I>Defined in <a href='overview-summary-I18n.js.html'>I18n.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.I18n.html#jala.I18n()">jala.I18n</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new instance of jala.I18n
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#formatMessage">formatMessage</A></B>(&lt;String&gt; message, &lt;Array&gt; values)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Converts the message passed as argument into an instance
of java.text.MessageFormat, and formats it using the
replacement values passed.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getCatalog">getCatalog</A></B>(locale)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Helper method to get the message catalog
corresponding to the actual locale.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;java.util.Locale</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getLocale">getLocale</A></B>(localeId)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the locale for the given id, which is expected to follow
the form <code>language[_COUNTRY][_variant]</code>, where <code>language</code>
is a valid ISO Language Code (eg.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Function</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getLocaleGetter">getLocaleGetter</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get the method for retrieving the locale.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getMessages">getMessages</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Get the message object.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#gettext">gettext</A></B>(&lt;String&gt; key )
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a localized message for the message key passed as
argument.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#markgettext">markgettext</A></B>(&lt;String&gt; key)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A simple proxy method which is used to mark a message string
for the i18n parser as to be translated.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#message_macro">message_macro</A></B>(param)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a translated message.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#ngettext">ngettext</A></B>(&lt;String&gt; singularKey, &lt;String&gt; pluralKey, &lt;Number&gt; amount )
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a localized message for the message key passed as
argument.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setHandler">setHandler</A></B>(&lt;Object&gt; handler)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set (overwrite) the default handler containing
the messages (ie.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setLocaleGetter">setLocaleGetter</A></B>(&lt;Function&gt; func)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the method for retrieving the locale.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setMessages">setMessages</A></B>(&lt;Object&gt; msgObject)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Overwrite the default object containing
the messages (ie.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;String</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#translate">translate</A></B>(singularKey, pluralKey, &lt;Number&gt; amount)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Tries to "translate" the given message key into a localized
message.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.I18n()"><!-- --></A><H3>
jala.I18n</H3>
<PRE><B>jala.I18n</B>()</PRE>
<UL>
Constructs a new instance of jala.I18n
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="formatMessage"><!-- --></A>
<H3>formatMessage</H3>
<PRE>String <B>formatMessage</B>(&lt;String&gt; message, &lt;Array&gt; values)</PRE>
<UL>Converts the message passed as argument into an instance
of java.text.MessageFormat, and formats it using the
replacement values passed.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>message</CODE> - The message to format
</UL>
<UL><CODE>values</CODE> - An optional array containing replacement values
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The formatted message or, if the formatting fails, the message passed as argument.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- http://java.sun.com/j2se/1.5.0/docs/api/java/text/MessageFormat.html</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getCatalog"><!-- --></A>
<H3>getCatalog</H3>
<PRE>Object <B>getCatalog</B>(locale)</PRE>
<UL>Helper method to get the message catalog
corresponding to the actual locale.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The message catalog.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getLocale"><!-- --></A>
<H3>getLocale</H3>
<PRE>java.util.Locale <B>getLocale</B>(localeId)</PRE>
<UL>Returns the locale for the given id, which is expected to follow
the form <code>language[_COUNTRY][_variant]</code>, where <code>language</code>
is a valid ISO Language Code (eg. "de"), <code>COUNTRY</code> a valid ISO
Country Code (eg. "AT"), and variant an identifier for the variant to use.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The locale for the given id
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getLocaleGetter"><!-- --></A>
<H3>getLocaleGetter</H3>
<PRE>Function <B>getLocaleGetter</B>()</PRE>
<UL>Get the method for retrieving the locale.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The getter method
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getMessages"><!-- --></A>
<H3>getMessages</H3>
<PRE>Object <B>getMessages</B>()</PRE>
<UL>Get the message object.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The object containing the messages
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="gettext"><!-- --></A>
<H3>gettext</H3>
<PRE>String <B>gettext</B>(&lt;String&gt; key )</PRE>
<UL>Returns a localized message for the message key passed as
argument. If no localization is found, the message key
is returned. Any additional arguments passed to this function
will be used as replacement values during message rendering.
To reference these values the message can contain placeholders
following "{number}" notation, where <code>number</code> must
match the number of the additional argument (starting with zero).</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>key</CODE> - The message to localize
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The translated message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#translate">translate()</a><BR/>- <a href="#formatMessage">formatMessage()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="markgettext"><!-- --></A>
<H3>markgettext</H3>
<PRE>String <B>markgettext</B>(&lt;String&gt; key)</PRE>
<UL>A simple proxy method which is used to mark a message string
for the i18n parser as to be translated.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>key</CODE> - The message that should be seen by the i18n parser as to be translated.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The message in unmodified form
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="message_macro"><!-- --></A>
<H3>message_macro</H3>
<PRE>String <B>message_macro</B>(param)</PRE>
<UL>Returns a translated message. The following macro attributes
are accepted:
<ul>
<li>text: The message to translate (required)</li>
<li>plural: The plural form of the message</li>
<li>values: A list of replacement values. Use a comma to separate more
than one value. Each value is either interpreted as a global property
(if it doesn't containg a dot) or as a property name of the given macro
handler object (eg. "user.name"). If the value of the property is a
HopObject or an Array this macro uses the size() resp. length of the
object, otherwise the string representation of the object will be used.</li>
</ul></UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The translated message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#gettext">gettext()</a><BR/>- <a href="#ngettext">ngettext()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="ngettext"><!-- --></A>
<H3>ngettext</H3>
<PRE>String <B>ngettext</B>(&lt;String&gt; singularKey, &lt;String&gt; pluralKey, &lt;Number&gt; amount )</PRE>
<UL>Returns a localized message for the message key passed as
argument. In contrast to gettext() this method
can handle plural forms based on the amount passed as argument.
If no localization is found, the appropriate message key is
returned. Any additional arguments passed to this function
will be used as replacement values during message rendering.
To reference these values the message can contain placeholders
following "{number}" notation, where <code>number</code> must
match the number of the additional argument (starting with zero).</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>singularKey</CODE> - The singular message to localize
</UL>
<UL><CODE>pluralKey</CODE> - The plural form of the message to localize
</UL>
<UL><CODE>amount</CODE> - The amount which is used to determine whether the singular or plural form of the message should be returned.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The translated message
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- <a href="#translate">translate()</a><BR/>- <a href="#formatMessage">formatMessage()</a></UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setHandler"><!-- --></A>
<H3>setHandler</H3>
<PRE>void <B>setHandler</B>(&lt;Object&gt; handler)</PRE>
<UL>Set (overwrite) the default handler containing
the messages (ie. a vanilla EcmaScript object).</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>handler</CODE> - The handler containing the message object
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>Deprecated</B> <I>Use <a href="#setMessages">setMessages()</a> instead </I><BR/><BR/>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setLocaleGetter"><!-- --></A>
<H3>setLocaleGetter</H3>
<PRE>void <B>setLocaleGetter</B>(&lt;Function&gt; func)</PRE>
<UL>Set the method for retrieving the locale.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>func</CODE> - The getter method
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setMessages"><!-- --></A>
<H3>setMessages</H3>
<PRE>void <B>setMessages</B>(&lt;Object&gt; msgObject)</PRE>
<UL>Overwrite the default object containing
the messages (ie. a vanilla EcmaScript object).</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>msgObject</CODE> - The object containing the messages
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="translate"><!-- --></A>
<H3>translate</H3>
<PRE>String <B>translate</B>(singularKey, pluralKey, &lt;Number&gt; amount)</PRE>
<UL>Tries to "translate" the given message key into a localized
message.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>amount</CODE> - A number to determine whether to use the singular or plural form of the message
</UL>
<UL><CODE>key</CODE> - The message to translate (required)
</UL>
<UL><CODE>plural</CODE> - The plural form of the message to translate
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The localized message or the appropriate key if no localized message was found
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-I18n.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.HtmlDocument.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.ImageFilter.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.I18n.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,510 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.ImageFilter
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.ImageFilter";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-ImageFilter.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.I18n.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.IndexManager.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.ImageFilter.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.ImageFilter</H2>
<PRE>Object
|
+--<b>jala.ImageFilter</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.ImageFilter</B>
</DL>
<P>
<BR/>This class provides several image manipulating
methods. Most of this filter library is based on filters created
by Janne Kipinä for JAlbum. For more information have a look
at http://www.ratol.fi/~jakipina/java/
<BR/><I>Defined in <a href='overview-summary-ImageFilter.js.html'>ImageFilter.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.ImageFilter.html#jala.ImageFilter()">jala.ImageFilter</A>
</B>
(&lt;Object&gt; img)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new ImageFilter object
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#gaussianBlur">gaussianBlur</A></B>(&lt;Number&gt; radius, &lt;Number&gt; amount)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Performs a gaussian blur operation on the image
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getBytes">getBytes</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the wrapped image as byte array, to use eg.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;helma.image.ImageWrapper</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getImage">getImage</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the image that has been worked on
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#sharpen">sharpen</A></B>(&lt;Number&gt; amount)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sharpens the image using a plain sharpening kernel.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#unsharpMask">unsharpMask</A></B>(&lt;Number&gt; radius, &lt;Number&gt; amount)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Performs an unsharp mask operation on the image
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.ImageFilter()"><!-- --></A><H3>
jala.ImageFilter</H3>
<PRE><B>jala.ImageFilter</B>(&lt;Object&gt; img)</PRE>
<UL>
Constructs a new ImageFilter object
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>img</CODE> - Either <ul> <li>an instance of helma.image.ImageWrapper</li> <li>the path to the image file as String</li> <li>an instance of helma.File representing the image file</li> <li>an instance of java.io.File representing the image file</li> </ul>
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="gaussianBlur"><!-- --></A>
<H3>gaussianBlur</H3>
<PRE>void <B>gaussianBlur</B>(&lt;Number&gt; radius, &lt;Number&gt; amount)</PRE>
<UL>Performs a gaussian blur operation on the image</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>radius</CODE> - The radius
</UL>
<UL><CODE>amount</CODE> - The amount
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getBytes"><!-- --></A>
<H3>getBytes</H3>
<PRE>byte[] <B>getBytes</B>()</PRE>
<UL>Returns the wrapped image as byte array, to use eg. in conjunction
with res.writeBinary()</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
The wrapped image as byte array
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getImage"><!-- --></A>
<H3>getImage</H3>
<PRE>helma.image.ImageWrapper <B>getImage</B>()</PRE>
<UL>Returns the image that has been worked on</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
An instance of helma.image.ImageWrapper
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="sharpen"><!-- --></A>
<H3>sharpen</H3>
<PRE>void <B>sharpen</B>(&lt;Number&gt; amount)</PRE>
<UL>Sharpens the image using a plain sharpening kernel.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>amount</CODE> - The amount of sharpening to apply
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="unsharpMask"><!-- --></A>
<H3>unsharpMask</H3>
<PRE>void <B>unsharpMask</B>(&lt;Number&gt; radius, &lt;Number&gt; amount)</PRE>
<UL>Performs an unsharp mask operation on the image</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>radius</CODE> - The radius
</UL>
<UL><CODE>amount</CODE> - The amount
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-ImageFilter.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.I18n.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.IndexManager.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.ImageFilter.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,447 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.IndexManager.Job
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.IndexManager.Job";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-IndexManager.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.IndexManager.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.ListRenderer.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.IndexManager.Job.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.IndexManager.Job</H2>
<PRE>Object
|
+--<b>jala.IndexManager.Job</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.IndexManager.Job</B>
</DL>
<P>
<BR/>Instances of this class represent a single index
manipulation job to be processed by the index manager.
<BR/><I>Defined in <a href='overview-summary-IndexManager.js.html'>IndexManager.js</a></I><BR/><BR/><B>See:</B><UL>- <a href="jala.IndexManager.Job.html#">jala.IndexManager.Job</a></UL>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#callback">callback</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The data needed to process this job.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Date</CODE></FONT></TD>
<TD><CODE><B><A HREF="#createtime">createtime</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The date and time at which this job was created.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#errors">errors</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An internal error counter which is increased whenever processing
the job failed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#type">type</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The type of the job</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!ADD">ADD</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant defining an add job</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!OPTIMIZE">OPTIMIZE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant defining an optimizing job</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!REMOVE">REMOVE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant defining a removal job</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.IndexManager.Job.html#jala.IndexManager.Job()">jala.IndexManager.Job</A>
</B>
(&lt;Number&gt; type, callback)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a new Job instance.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="callback"><!-- --></A>
<H3>callback</H3>
<PRE>Object&nbsp;<B>callback</B></PRE>
<UL>
The data needed to process this job. For adding jobs this property
must contain the helma.Search.Document instance to add to
the index. For removal job this property must contain the unique identifier
of the document that should be removed from the index. For optimizing
jobs this property is null.
</UL>
<HR>
<A NAME="createtime"><!-- --></A>
<H3>createtime</H3>
<PRE>Date&nbsp;<B>createtime</B></PRE>
<UL>
The date and time at which this job was created.
</UL>
<HR>
<A NAME="errors"><!-- --></A>
<H3>errors</H3>
<PRE>Number&nbsp;<B>errors</B></PRE>
<UL>
An internal error counter which is increased whenever processing
the job failed.
</UL>
<HR>
<A NAME="type"><!-- --></A>
<H3>type</H3>
<PRE>Number&nbsp;<B>type</B></PRE>
<UL>
The type of the job
</UL>
<HR>
<A NAME="!s!ADD"><!-- --></A>
<H3>ADD</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>ADD</B></PRE>
<UL>
Constant defining an add job
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#java.awt.AWTEvent.COMPONENT_EVENT_MASK">Constant Field Values</A></DL>
</DL>
</UL>
<HR>
<A NAME="!s!OPTIMIZE"><!-- --></A>
<H3>OPTIMIZE</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>OPTIMIZE</B></PRE>
<UL>
Constant defining an optimizing job
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#java.awt.AWTEvent.COMPONENT_EVENT_MASK">Constant Field Values</A></DL>
</DL>
</UL>
<HR>
<A NAME="!s!REMOVE"><!-- --></A>
<H3>REMOVE</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>REMOVE</B></PRE>
<UL>
Constant defining a removal job
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#java.awt.AWTEvent.COMPONENT_EVENT_MASK">Constant Field Values</A></DL>
</DL>
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.IndexManager.Job()"><!-- --></A><H3>
jala.IndexManager.Job</H3>
<PRE><B>jala.IndexManager.Job</B>(&lt;Number&gt; type, callback)</PRE>
<UL>
Creates a new Job instance.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>type</CODE> - The type of job, which can be either jala.IndexManager.Job.ADD, jala.IndexManager.Job.REMOVE or jala.IndexManager.Job.OPTIMIZE.
</UL>
<UL><CODE>id</CODE> - The Id of the job
</UL>
<UL><CODE>data</CODE> - The data needed to process the job.
</UL>
</UL>
<!-- Constructor return value(s) -->
<UL>
<B>Returns:</B>
<UL>
A newly created Job instance.
</UL>
</UL>
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<UL>
<B>See:</B><UL>- <a href="jala.IndexManager.Job.html#">jala.IndexManager.Job</a></UL>
</UL>
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-IndexManager.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.IndexManager.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.ListRenderer.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.IndexManager.Job.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

View file

@ -0,0 +1,615 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
jala.IndexManager
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="jala.IndexManager";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-IndexManager.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.ImageFilter.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.IndexManager.Job.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.IndexManager.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class jala.IndexManager</H2>
<PRE>Object
|
+--<b>jala.IndexManager</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>jala.IndexManager</B>
</DL>
<P>
<BR/>This class basically sits on top of a helma.Search.Index instance
and provides methods for adding, removing and optimizing the underlying index.
All methods generate jobs that are put into an internal queue which is
processed asynchronously by a separate worker thread. This means all calls
to add(), remove() and optimize() will return immediately, but the changes to
the index will be done within a short delay. Please keep in mind to change the
status of this IndexManager instance to REBUILDING before starting to rebuild
the index, as this ensures that all add/remove/optimize jobs will stay in the
queue and will only be processed after switching the status back to NORMAL.
This ensures that objects that have been modified during a rebuilding process
are re-indexed properly afterwards.
<BR/><I>Defined in <a href='overview-summary-IndexManager.js.html'>IndexManager.js</a></I><BR/><BR/><B>See:</B><UL>- helma.Search.createIndex</UL>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="inner_classes"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&nbsp;class&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="jala.IndexManager.Job.html">jala.IndexManager.Job</A></B></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!MAXTRIES">MAXTRIES</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant defining the maximum number of tries to add/remove
an object to/from the underlying index.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!NORMAL">NORMAL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant defining normal mode of this index manager.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
<TD><CODE><B><A HREF="#!s!REBUILDING">REBUILDING</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant defining rebuilding mode of this index manager.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="jala.IndexManager.html#jala.IndexManager()">jala.IndexManager</A>
</B>
(&lt;String&gt; name, &lt;helma.File&gt; dir, &lt;String&gt; lang)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a new IndexManager object.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#add">add</A></B>(&lt;helma.Search.Document&gt; doc)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Queues the document object passed as argument for addition to the underlying
index.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#log">log</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Helper function that prefixes every log message with
the name of the IndexManager.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#optimize">optimize</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Queues the optimization of the underlying index.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#remove">remove</A></B>(&lt;Number&gt; id)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Queues the removal of all index documents whose identifier value ("id" by default)
matches the number passed as argument.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="!s!MAXTRIES"><!-- --></A>
<H3>MAXTRIES</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>MAXTRIES</B></PRE>
<UL>
Constant defining the maximum number of tries to add/remove
an object to/from the underlying index.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#java.awt.AWTEvent.COMPONENT_EVENT_MASK">Constant Field Values</A></DL>
</DL>
</UL>
<HR>
<A NAME="!s!NORMAL"><!-- --></A>
<H3>NORMAL</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>NORMAL</B></PRE>
<UL>
Constant defining normal mode of this index manager.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#java.awt.AWTEvent.COMPONENT_EVENT_MASK">Constant Field Values</A></DL>
</DL>
</UL>
<HR>
<A NAME="!s!REBUILDING"><!-- --></A>
<H3>REBUILDING</H3>
<PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>REBUILDING</B></PRE>
<UL>
Constant defining rebuilding mode of this index manager.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#java.awt.AWTEvent.COMPONENT_EVENT_MASK">Constant Field Values</A></DL>
</DL>
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="jala.IndexManager()"><!-- --></A><H3>
jala.IndexManager</H3>
<PRE><B>jala.IndexManager</B>(&lt;String&gt; name, &lt;helma.File&gt; dir, &lt;String&gt; lang)</PRE>
<UL>
Constructs a new IndexManager object.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - The name of the index, which is the name of the directory the index already resides or will be created in.
</UL>
<UL><CODE>dir</CODE> - The base directory where this index's directory is already existing or will be created in.
</UL>
<UL><CODE>lang</CODE> - The language of the documents in this index. This leads to the proper Lucene analyzer being used for indexing documents.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<UL>
<B>See:</B><UL>- helma.Search.createIndex</UL>
</UL>
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="add"><!-- --></A>
<H3>add</H3>
<PRE>Boolean <B>add</B>(&lt;helma.Search.Document&gt; doc)</PRE>
<UL>Queues the document object passed as argument for addition to the underlying
index. This includes that all existing documents with the same identifier will
be removed before the object passed as argument is added.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>doc</CODE> - The document object that should be added to the underlying index.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the job was added successfully to the internal queue, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<UL>
<B>See:</B><UL>- helma.Search.Document</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="log"><!-- --></A>
<H3>log</H3>
<PRE>void <B>log</B>()</PRE>
<UL>Helper function that prefixes every log message with
the name of the IndexManager.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>level</CODE> - An optional logging level. Accepted values
</UL>
<UL><CODE>msg</CODE> - The log message are "debug", "info", "warn" and "error".
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="optimize"><!-- --></A>
<H3>optimize</H3>
<PRE>Boolean <B>optimize</B>()</PRE>
<UL>Queues the optimization of the underlying index.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the optimizing job was added, false otherwise, which means that there is already an optimizing job waiting in the queue.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="remove"><!-- --></A>
<H3>remove</H3>
<PRE>Boolean <B>remove</B>(&lt;Number&gt; id)</PRE>
<UL>Queues the removal of all index documents whose identifier value ("id" by default)
matches the number passed as argument.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>id</CODE> - The identifier value
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
True if the removal job was added successfully to the queue, false otherwise.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-IndexManager.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Jala 1.3</B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="jala.ImageFilter.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="jala.IndexManager.Job.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="jala.IndexManager.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jan 8 15:45:31 2008</div>
</BODY>
</HTML>

Some files were not shown because too many files have changed in this diff Show more