Xtend User Guide

  1. Introduction
  2. Installation
    1. Maven Support
    2. The Runtime Library
  3. Getting Started
    1. The Movies Example
      1. The Data
      2. Parsing The Data
      3. Answering Some Questions
        1. Question 1 : What Is The Number Of Action Movies?
        2. Question 2 : What Is The Year The Best Movie From The 80ies Was Released?
        3. Question 3 : What Is The The Sum Of All Votes Of The Top Two Movies?
  4. Static Typing and Java Interoperability
    1. Type Inference
    2. Conversion Rules
    3. Interoperability with Java
  5. Classes and Members
    1. Package Declaration
    2. Imports
    3. Class Declaration
    4. Constructors
    5. Fields
    6. Methods
      1. Abstract Methods
      2. Overriding Methods
      3. Declared Exceptions
      4. Inferred Return Types
      5. Generic Methods
      6. Dispatch Methods
        1. Dispatch Methods and Inheritance
        2. Static Dispatch Methods
    7. Annotations
    8. Extension Methods
      1. Extensions From The Library
      2. Local Extension Methods
      3. Extension Imports
      4. Extension Fields
  6. Expressions
    1. Literals
      1. String Literals
      2. Number Literals
      3. Boolean Literals
      4. Null Literal
      5. Type Literals
    2. Type Casts
    3. Infix Operators and Operator Overloading
      1. Short-Circuit Boolean Operators
      2. Examples
      3. Assignments
        1. Setting Properties
    4. Blocks
    5. Variable Declarations
      1. Typing
    6. Field Access and Method Invocation
      1. Property Access
      2. Implicit Variables this and it
      3. Static Access
      4. Null-Safe Feature Call
    7. Constructor Call
    8. Lambda Expressions
      1. Typing
    9. If Expression
    10. Switch Expression
      1. Type guards
    11. For Loop
    12. While Loop
    13. Do-While Loop
    14. Return Expression
    15. Throwing Exceptions
    16. Try, Catch, Finally
    17. Template Expressions
      1. Conditions in Templates
      2. Loops in Templates
      3. Typing
      4. White Space Handling
  7. Processed Annotations
    1. @Property
    2. @Data