Java 1 for XPages Development (8.5)
Units: 14
Duration: 4 classroom equivalent days
Discussion Access: One Year

Summary Description
Are you an XPages Developer? Then you should consider adding Java skills to your toolkit. XPages and Java integrate very nicely together. Java 1 for XPages Development, will teach you the Java language and how to include Java in XPages applications. This course covers:
  • How Java is used in XPages and the Java Design Element
  • The Java editor in Domino Designer
  • The basic Java operators, statements and core classes
  • How to use Java to access and interact with Domino Objects including the Session, Database, View and Document objects
  • Java Arrays, Vectors and Collections
  • Integrating Server-side JavaScript with Java
  • Creating and using the Java Code Design Element in XPages
  • Migrating Domino Java web Agents to XPages
  • And much more!
This course is written exclusively for XPages developers who want to learn how to leverage the power and extensibility of the Java language with their XPages applications. This course includes many live demonstrations and activities you do right in Domino Designer. TLCC's unique form of demonstrations and activities lets you view live Java code right on the demonstration XPage (as seen in the image to the right). This makes it easy to see both the Java code from the Java code design element and how that Java code integrates with the XPage itself.

Audience and Prerequisites
Experienced Notes and Domino 8.5 application developers with JavaScript and XPages development experience.
Click here to view the complete skills path for XPages development.
The following TLCC courses (or their equivalent) are prerequisite for this course:
  • JavaScript for XPages Development (8.5)
  • Developing XPages using Domino Designer 8.5
System Requirements
The system requirements for this course are:
  • Domino Designer 8.5.3
    (This must be installed prior to installing this TLCC course)
  • A current web browser client
  • Access to the Internet for instructor support
Course Modules
Module 1 - Introduction to Java
In this module you learn about the Java programming language and how it is implemented in Notes and Domino and specifically in XPages applications. This module also covers how to use the Eclipse-based Java editor to create Java code elements.
  • Learn about the basic constructs of the Java development environment
  • Discover what the Java Development Kit (JDK) is and where to find it
  • Differentiate between versions of the JDK
  • Understand what a Java Virtual Machine is
  • Learn how Java code executes
  • Discover how Java is implemented in Notes/Domino and in XPages
  • Learn about the full-featured Eclipse-based Java editor and how to create Java design elements for XPages applications
  • Understand the framework used for displaying the Java source code and output in the demonstrations and activities in this course
Module 2 - Java Building Blocks
Learn about the basic Java building blocks that you can use to develop a Java program.
  • Understand the code constructs of a Java program
  • Learn the Java syntax rules
  • Use Java identifiers and data types
  • Use Java operators to perform arithmetic calculations and string manipulation
  • Use Java constructs to control program flow and conditional processing
Module 3 - Core Java Classes
In this module you learn more about the core Java classes. Many of the methods of the Domino object model return native Java objects and data types. This module introduces you to several of the most widely-used classes and provides examples of the native Java objects and data types.
  • Identify the key elements of object-oriented programming in Java
  • Learn the syntax for creating and calling a Java method
  • Use the String and StringBuffer methods of the java.lang package to manipulate strings
  • Manipulate primitive numbers in Java
  • Use casting to change the data type of numeric values
  • Format numbers for output using methods from the java.text class package
  • Instantiate and operate on numeric objects
  • Extract a primitive numeric value from a numeric object
  • Perform type conversions on numeric object data
  • Create and set the initial value of a Java Date object
  • Use the Calendar methods and field constants to manipulate a date value
  • Use the DateFormat class to format a date
  • Use the URL and URLConnection classes of the package to connect programmatically to a web site
  • Use the URL and URLConnection methods to get information about a website connection
  • Use the URLEncoder class to prepare a string for use as a URL
  • Read XML from a network connection
Module 4 - Java Collections
Vector and Array objects are data storage structures that hold multiple values. Many properties and methods in the Domino Object Interface return vectors. This module covers the basics of creating, assigning, and manipulating arrays and vectors and introduces the Java Collections framework including its most common implementations such as a HashMap, TreeMap, and ArrayList.
  • Understand the difference between arrays and vectors
  • Learn what's included in the java.util class package
  • Declare an array and assign its values
  • Access and manipulate array values
  • Declare a vector and assign its values
  • Access and manipulate vector components
  • Create and use an Enumeration object
  • Create and use an Iterator object
  • Identify the interfaces in the Java Collections Framework
  • Create, populate and operate on a HashMap object
  • Create a HashMap with type safety
  • Create, populate and operate on a TreeMap object
  • Create, populate and operate on an ArrayList object
  • Sort the values in an ArrayList
Module 5 - Domino Object Model Java Classes
This module describes how to use Java to access the Domino Object Interface and the main Domino classes.
  • Reveal which Domino objects are available to Java
  • Understand the containment model in the Domino Object Interface
  • How a Java code element is used in the Domino Object Interface
  • Reference Domino objects in Java
  • Use the pseudo-code diagram methodology to solve problems using Java and the Domino Object Interface
  • Use the Session class to enter the Domino Object Interface and access environment information
  • Access the current database and any stored database
  • Access and use the View class
  • "Walk a view" to operate on each entry in a view
  • Create a Notes document using Java
  • Use the Document and Item classes to access field values in a document
  • Access and operate on Document field items
  • Identify the Item class properties to get information about or control an item's attributes

Module 6 - Java in XPages
This module describes several Java programming structures and how they are implemented as Java Code elements for use in XPages applications. Learn the different ways to create and use Java Code elements in XPages and how to call methods and pass parameters from an XPages.
  • Understand the Java naming model and packages
  • Distinguish between classes, base (or super) classes, and interfaces
  • Use constructor methods to instantiate objects of a specific class
  • Declare class members at different levels of scope and accessibility
  • Use the Java code design element to create a new Java class or Interface
  • Create and use code snippets for code constructs that are used over and over again
  • Distinguish when it is best to code business logic in Server-Side JavaScript or in a Java Code element
  • Understand the different ways to call methods and pass parameters from an XPages
  • Pass the on-the-glass NotesXspDocument object in a call to a class method
  • Migrate LotusScript and Java Agents to Java Code elements
  • Create a Java Bean