JudoScript.COM Design principles of Judo the sport and the language
HomeJudo LanguageJuSP PlatformJamaica Language 
Judo ReferenceJuSP ReferenceWiki/WeblogTutorials/PresentationsDownloadsGoodiesFeedback  
 
 








The Judo Language 0.9

By James Jianbo Huang   Last update: 2021-10-03

 PartI. Introduction
 1.   Introduction to Judo
 2.   Major Use Cases Illustrated
 PartII. Core Language Programming
 3.   Basic Program Structure
 4.   Running Judo and Logging
 5.   Basic Data Types and Expressions
 6.   Flow Control
 7.   Built-In Data Structures
 8.   Threads and Dynamic Evaluation
 10.   Object-Oriented Programming
 11.   Java Scripting
 PartIII. Essential Services and Shell Scripting
 14.   Print, File I/O and In-Script Data
 15.   File System and Archives
 16.   Run Executables
 17.   Internet Scripting
 18.   Scheduled Jobs
 19.   Java GUI Scripting
 20.   Ant Scripting and Scripting Ant
 21.   Internalization and Localization
 PartIV. Advanced Data Processing and Applications
 22.   JDBC (SQL) Scripting
 23.   JDBC (SQL) Scripting - Work with RDBMSs
 24.   Hibernate ORM and HQL Scripting
 25.   SGML and JSP Scraping
 26.   XML Scripting - SAX Style
 27.   XML Scripting - DOM Style
 28.   SOAP Web Service Scripting
 29.   Scripting for Windows
 30.   Microsoft ActiveX Scripting
 31.   Use Microsoft Office Products
 PartV. Beyond Basics
 32.   JuSP: the Judo Server Page Technology
 33.   Embed Judo in Java Software
 34.   Extending Judo
 35.   Judo Tools and Special Usages
 PartVI. Judo Language Reference
 I.   Functional Areas
 II.   Grammar
 III.   Built-In System Functions
 IV.   Built-In Object Types
Click on the chapter/appendix number to go to the expanded Table of Content.
Click on the chapter/appendix title to go to the chapter itself.
This book is work-in-process. The square icons next to the chapter numbers indicate the progress.

0Preface

Part I. Introduction

1 Introduction to Judo
     Background
       Judo, a Functional Java Scripting Language
       The Java Platform and Scripting Languages
       Vive les Scripting Languages!
       Programming Language Design
       Judo 0.9, 1.0 and ECMAScript
     Components of Judo Language
       Core Programming Language
       Java Scripting
       Built-In Data Structures
       System Functions
       Functional Support
     Uses of Judo
       Enterprise Uses
       Software Development Uses
       Daily Uses
     Who Can Use Judo
     How to Run Java Software and Judo
       Install Java and Run Java Software
       Install and Run Judo
     How This Book is Organized
     Conventions and Terminologies Used in This Book
2 Major Use Cases Illustrated
     General Programming Use Cases
       Branching
       For Loop
       While Loop
     Java Scripting Use Cases
     Dynamic Evaluation Use Cases
     OS and Shell Use Cases
     File System and Archive Use Cases
     Internet Use Cases
     JDBC Scripting Use Cases
     Hibernate Scripting Use Cases
     SGML Use Cases
     XML Use Cases
     Windows Use Cases
     Server-Side Scripting Use Cases
     Embed-In-Java Use Cases

Part II. Core Language Programming

3 Basic Program Structure
     Lexical Structure
       Identifiers, Variable and Constants
       Reserved Words
       Comments
     Variables and Scopes
     Constants
       Predefined Constants
4 Running Judo and Logging
     Start-Up Environment
     Classpath
       Java Class Constants
     System Properties and Environment Variables
     Include Other Scripts
     Pragma
     Make Scripts Executable
       Make Scripts Executable on Windows
       Make Scripts Executable on Unix
     Logging
       Judo Logging Sources and Logging Pragma
       Non-Judo Logging Sources
       Logging with Log4J and JDK 1.4 Logging API
     Program Documentation
5 Basic Data Types and Expressions
     Null and Undefined
     Boolean and Numbers
     String and Character
     File Names and URLs
     Regular Expression
       The Java/Judo Regular Expressions
       Use Regular Expressions in Judo
     Date and Time
     Secret
6 Flow Control
     Basic Flow Control Statements
       Types of Judo Statements
       If-Else Statement
       Switch Statement
       While and Do-While Loops
       For and Repeat Loops
       Break, Continue and Loop Index
     Functions and Function Variables
       Function Parameters
       Dynamic Function Parameters
       Function Variables
       Anonymous Functions
       Function Alias for Java Static Methods
       System Functions
     Exception Handling
       The Exception Object
       The Throw and Resume Statements
7 Built-In Data Structures
     Array and Linked List
     Object and Ordered Map
     Tree Node
     Set and Ordered Set
     Stack and Queue
     Table Data
8 Threads and Dynamic Evaluation
     Runtime Context
     Thread Programming
     Execute Dynamic and External Scripts
10 Object-Oriented Programming
     Define A New Class
     Constructor and Initialization
     Derive A New Class From Others
     Transpose Class Instances
11 Java Scripting
     Introduction to Java and Object Scripting
     Use Java Objects and Classes
       Create and Use Java Objects
       Resolving Java Class Names
       Pass Judo Values To Java Methods
       Use Java Classes and Class Static Members
       Alias Java Static Methods as Functions
     Create and Use Java Arrays
     Native Judo Operations for Java Data Structures
       Initialize and Access java.util.Map Values
       Iterate Java Data Structures and Objects
       Access elements in java.util.List
     Extend Java Classes and Implement Java Interfaces
     Java Interface Adapters
     Making Clients for JNDI, RMI and EJB
       Obtain JNDI Initial Context
       RMI
     Java Software Testing and JUnit
     Java Software Prototyping
     Thread and Other Considerations
     Summary

Part III. Essential Services and Shell Scripting

14 Print, File I/O and In-Script Data
     Print and Formatting
       Printing
       Print Into Variables
       Using System Input and Output Streams
     Read and Write Binary Files
       Read and Write Binary Files Sequentially
       Random Access Files
     Read and Write Files Within Zip Files
     In-Script Data
15 File System and Archives
     Working in the File System
       The Current Directory and Change Directory
       Make and Remove Directory
       Rename and Move Files
     List and Process Files
       File Selection
       Obtain Selected Files in a List or a Tree
       Count Files and Directories
       Get Statistics about Files
       Summary of listFiles Return Values
       Remove and Set Attributes on Selected Files
       Run Shell Commands on Selected Files
       Arbitrarily Process Selected Files
       List Files and Get Information in Archives
       Process Files in Zip Archives
     Copy and Archive Files
       Copy a Single File to a Different Name
       Copy Files to a Different Location
       Copy Files into Archives
       Save Multiple File Sets into a Single Archive
       Copy Public Internet Resources
     Other File Utilities
       Encrypting and Decrypting Files and Data
       Chopping and Assembling Files
16 Run Executables
     Introduction to Running Native Programs
     The Command-Line Format
     Return Value, Running Modes and Options
       Return Value
       Synchronous and Asynchronous Runs
       Environment Variables
       Start-Up Directory
     Process Executable Input And/Or Output
       User Input for the Executable
       Provide User Input from the Script
       Read Executable Output into the Script
       Write to and Read from the Executable
     Case Study: Build and Test the Judo Software
17 Internet Scripting
     HTTP Client Features
     HTTP Server Features
     Create A HTTP Proxy Server
     UDP and Broadcasting
     Send Mail
     SSH and SCP
     FTP
18 Scheduled Jobs
    Different Modes of Scheduling
    HTTP Console Interface for Schedules
19 Java GUI Scripting
     Create AWT and Swing GUIs
     Handle GUI Events
     Handle GUI Events for Multiple Controls
20 Ant Scripting and Scripting Ant
     Introduction to Ant
       What is Ant?
       Ant Build Scripts
       Judo and Ant
     Embed Judo in Ant Build Script
       The Ant <judoscript> Task
       Passing Information between Ant and the <judoscript> Tag
       Call Other Ant Targets and Access Other Resources
     Script Ant Tasks
       Passing Information between code and Ant tasks
       Handle Ant task execution failures
       When and why to script Ant tasks in Judo
21 Internalization and Localization
     Text Encoding in Judo and Java
       Text Encoding
       Read and Write Files in Native Languages
     Handle Native Language Contents on the Internet
     Native Language Text in Source Code
       Turn Characters into Unicode Escape Sequences
       Use Native Characters Directly in Source Code
     View and Edit Native Language Content
       A Poor Man's Native Language Viewer
       A Poor Man's Native Language Editor
     Use Locales

Part IV. Advanced Data Processing and Applications

22 JDBC (SQL) Scripting
     Introduction to JDBC Scripting
       Java, JDBC and RDBMS
       SQL, JDBC and JDK Versions
       JDBC SQL Data Types
       JDBC and ODBC
       SQL/JDBC Scripting in Judo
     Connections and Drivers
       JDBC Drivers
       Connection Attributes
     Direct and Batch Execution of SQL
       Run SQL Directly
       Run Raw SQL and Database Language Scripts
       Run SQL in Batches
     Run SQL Script Files
     Parameterized SQL
     Run SQL Update Statements
     Queries and Query Results
     Execute Database Scripts As-Is
     Call Stored Procedures
     Use Advanced SQL Types
     Database Meta-Information and Utilities
23 JDBC (SQL) Scripting - Work with RDBMSs
     Use HSQLDB
     Use Oracle
     Use IBM DB2
     Use Microsoft SQL Server
     Use MySQL
24 Hibernate ORM and HQL Scripting
     Introduction to Hibernate and HQL
       A Simple Example of Object Mapping
       Key Hibernate API Classes and Interfaces
       Set-Up and Initialization of Hibernate
    Hibernate Scripting
       Set-Up and Initialization of Hibernate
       Support for Object Persistence and Transactions
       Support for HQL and Multiple Object Deletion
     Working with Hibernate Object Models
       Mapping Types
       Mapping Entity and Value Types
       Mapping Class Inheritance
       Mapping Associations
     Summary
25 SGML and JSP Scraping
     SGML/HTML Scraping Made Easy
     SGML Scripting Versus XML Scripting
     JSP Scraping and Build Template Systems
     Develop Your Own Tag System for Information Organization
     Case Study: An SGML-Based Documentation System
       Planning for SGML-Based Documentation
       Develop An SGML-Based Documentation System
26 XML Scripting - SAX Style
     Introduction to XML Document Processing
     SAX-Style XML scripting
     DOM Programming
     XSLT Scripting
27 XML Scripting - DOM Style
    Native XML Scripting
28 SOAP Web Service Scripting
     Introduction to SOAP Web Services
       SOAP Web Services
       WSDL
       Data Types and Encoding
       Web Service Clients
     SOAP Web Service Scripting
       Prerequisite
       Start Scripting Web Services
     Parameters and Return Values
       Set Up the Echo Sample Web Service
       Built-In Data Types
       Custom Data Types
       Input/Output Parameters and Return Values
       Different Input Types for Maps and Structs
       Summary of SOAP Web Service Scripting
29 Scripting for Windows
30 Microsoft ActiveX Scripting
     Microsoft ActiveX/COM Background
       Introduction to COM and ActiveX
       IDispatch
       IEnumVARIANT
       Type Library
       Introduction to ActiveX Control
       ActiveX Control Data Types
       ActiveX Control Methods and Properites
       ActiveX Control Events
     ActiveX and Java
       Scripting ActiveX Controls with Java
       Thoughts about COM/ActiveX, Java and Platforms
     Scripting ActiveX Controls with Judo
       Obtain ActiveX Controls
       Access ActiveX Control Properties
       Invoke ActiveX Control Methods
       Control the Reference Counts
       Use the IEnumVARIANT Interface
     Use ADO to Access Databases
31 Use Microsoft Office Products
     Use Microsoft Excel
     Use Microsoft Word
     Use Microsoft Internet Explorer
     Use Microsoft Outlook

Part V. Beyond Basics

32 JuSP: the Judo Server Page Technology
    The JuSP Platform
33 Embed Judo in Java Software
     The Easy Way to Embed Judo in Java Software
       Default Function Name in the Embedded Script
       Capture and Redirect Output
       Syntax and Runtime Error Reporting
     Introduction to Bean Scripting Framework (BSF)
     BSF Support for Judo
     Use Judo Inside Ant Through BSF
34 Extending Judo
    Establish Your Own System Functions
    Build Libraries for Java and Judo
    Introduction to Judo Internals
    Judo Debug Interface (JUDI)
    Judo Profile Interface (JUPI)
35 Judo Tools and Special Usages
    Judo Precompiler
    Judo-Java Translator
    JUSP Preprocessor
    White-Box Java Unit Testing
    Protect Passwords In The Scripts

Part VI. Judo Language Reference

I Functional Areas
II Grammar
III Built-In System Functions
IV Built-In Object Types



Copyright © 2001-2005 JudoScript.COM. All Rights Reserved.