'package' Keyword.Namespace ' ' Text 'example' Name '\n' Text '\n' Text 'uses' Keyword.Namespace ' ' Text 'java.util.*' Name.Namespace '\n' Text '\n' Text 'uses' Keyword.Namespace ' ' Text 'java.io.File' Name.Namespace '\n' Text '\n' Text 'class' Keyword.Declaration ' ' Text 'Person' Name.Class ' ' Text 'extends' Keyword.Declaration ' ' Text 'Contact' Name ' ' Text 'implements' Keyword.Declaration ' ' Text 'IEmailable' Name ' ' Text '{' Operator '\n' Text '\n' Text ' ' Text 'var' Keyword.Declaration ' ' Text '_name' Name ' ' Text ':' Operator ' ' Text 'String' Name '\n' Text ' ' Text 'var' Keyword.Declaration ' ' Text '_age' Name ' ' Text ':' Operator ' ' Text 'Integer' Name ' ' Text 'as' Keyword ' ' Text 'Age' Name ' ' Text '\n' Text ' ' Text 'var' Keyword.Declaration ' ' Text '_relationship' Name ' ' Text ':' Operator ' ' Text 'Relationship' Name ' ' Text 'as' Keyword ' ' Text 'readonly' Keyword.Declaration ' ' Text 'RelationshipOfPerson' Name '\n' Text '\n' Text ' ' Text 'delegate' Keyword.Declaration ' ' Text '_emailHelper' Name ' ' Text 'represents' Keyword.Declaration ' ' Text 'IEmailable' Name '\n' Text '\n' Text ' ' Text 'enum' Keyword.Declaration ' ' Text 'Relationship' Name.Class ' ' Text '{' Operator '\n' Text ' ' Text 'FRIEND' Name ',' Operator '\n' Text ' ' Text 'FAMILY' Name ',' Operator '\n' Text ' ' Text 'BUSINESS_CONTACT' Name '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text '// Map of names to people\n' Comment.Single ' ' Text 'static' Keyword.Declaration ' ' Text 'var' Keyword.Declaration ' ' Text 'ALL_PEOPLE' Name ' ' Text '=' Operator ' ' Text 'new' Keyword ' ' Text 'HashMap' Name '<' Operator 'String' Name ',' Operator ' ' Text 'Person' Name '>' Operator '(' Operator ')' Operator '\n' Text '\n' Text ' ' Text '/* Constructs a new Person */' Comment.Multiline '\n' Text ' ' Text 'construct' Keyword.Declaration '(' Operator ' ' Text 'name' Name ' ' Text ':' Operator ' ' Text 'String' Name ',' Operator ' ' Text 'age' Name ' ' Text ':' Operator ' ' Text 'Integer' Name ',' Operator ' ' Text 'relationship' Name ' ' Text ':' Operator ' ' Text 'Relationship' Name ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text '_name' Name ' ' Text '=' Operator ' ' Text 'name' Name '\n' Text ' ' Text '_age' Name ' ' Text '=' Operator ' ' Text 'age' Name '\n' Text ' ' Text '_relationship' Name ' ' Text '=' Operator ' ' Text 'relationship' Name '\n' Text ' ' Text '_emailHelper' Name ' ' Text '=' Operator ' ' Text 'new' Keyword ' ' Text 'EmailHelper' Name '(' Operator ' ' Text 'this' Keyword ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'property get' Keyword.Declaration ' ' Text 'Name' Name.Function '(' Operator ')' Operator ':' Operator 'String' Name.Attribute '{' Operator '\n' Text ' ' Text 'return' Keyword ' ' Text '_name' Name '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'property set' Keyword.Declaration ' ' Text 'Name' Name.Function '(' Operator 'name' Name ' ' Text ':' Operator ' ' Text 'String' Name ')' Operator '{' Operator '\n' Text ' ' Text '_name' Name ' ' Text '=' Operator ' ' Text 'name' Name '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text '/* Implement IEmailable#getEmailName() */' Comment.Multiline '\n' Text ' ' Text 'override' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'getEmailName' Name.Function '(' Operator ')' Operator ':' Operator 'String' Name.Attribute '{' Operator '\n' Text ' ' Text 'return' Keyword ' ' Text 'Name' Name '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'function' Keyword.Declaration ' ' Text 'incrementAge' Name.Function '(' Operator ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text '_age' Name '+' Operator '+' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text '@Deprecated' Name.Decorator '\n' Text ' ' Text 'function' Keyword.Declaration ' ' Text 'printPersonInfo' Name.Function '(' Operator ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'print' Name '(' Operator ' ' Text '"' Literal.String 'P' Literal.String 'e' Literal.String 'r' Literal.String 's' Literal.String 'o' Literal.String 'n' Literal.String ' ' Literal.String '{' Literal.String ' ' Literal.String 'N' Literal.String 'a' Literal.String 'm' Literal.String 'e' Literal.String ' ' Literal.String ':' Literal.String ' ' Literal.String '${' Operator 'Name' Name '}' Operator ',' Literal.String ' ' Literal.String 'A' Literal.String 'g' Literal.String 'e' Literal.String ' ' Literal.String ':' Literal.String ' ' Literal.String '${' Operator 'Age' Name '}' Operator ',' Literal.String ' ' Literal.String 'R' Literal.String 'e' Literal.String 'l' Literal.String 'a' Literal.String 't' Literal.String 'i' Literal.String 'o' Literal.String 'n' Literal.String 's' Literal.String 'h' Literal.String 'i' Literal.String 'p' Literal.String ' ' Literal.String ':' Literal.String ' ' Literal.String '${' Operator 'RelationshipOfPerson' Name '}' Operator ' ' Literal.String '}' Literal.String '"' Literal.String ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'static' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'addPerson' Name.Function '(' Operator 'p' Name ' ' Text ':' Operator ' ' Text 'Person' Name ')' Operator '{' Operator '\n' Text ' ' Text 'if' Keyword '(' Operator 'ALL_PEOPLE' Name '.' Operator 'containsKey' Name.Attribute '(' Operator 'p' Name '?.' Operator 'Name' Name.Attribute ')' Operator ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'throw' Keyword ' ' Text 'new' Keyword ' ' Text 'IllegalArgumentException' Name.Function '(' Operator ' ' Text '"' Literal.String 'T' Literal.String 'h' Literal.String 'e' Literal.String 'r' Literal.String 'e' Literal.String ' ' Literal.String 'i' Literal.String 's' Literal.String ' ' Literal.String 'a' Literal.String 'l' Literal.String 'r' Literal.String 'e' Literal.String 'a' Literal.String 'd' Literal.String 'y' Literal.String ' ' Literal.String 's' Literal.String 'o' Literal.String 'm' Literal.String 'e' Literal.String 'o' Literal.String 'n' Literal.String 'e' Literal.String ' ' Literal.String 'n' Literal.String 'a' Literal.String 'm' Literal.String 'e' Literal.String 'd' Literal.String ' ' Literal.String "'" Literal.String '${' Operator 'p' Name '.' Operator 'Name' Name.Attribute '}' Operator "'" Literal.String '.' Literal.String '"' Literal.String ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text 'ALL_PEOPLE' Name '[' Operator 'p' Name '.' Operator 'Name' Name.Attribute ']' Operator ' ' Text '=' Operator ' ' Text 'p' Name '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'static' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'addAllPeople' Name.Function '(' Operator ' ' Text 'contacts' Name ' ' Text ':' Operator ' ' Text 'List' Name '<' Operator 'Contact' Name '>' Operator ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'for' Keyword '(' Operator ' ' Text 'contact' Name ' ' Text 'in' Keyword ' ' Text 'contacts' Name ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'if' Keyword '(' Operator ' ' Text 'contact' Name ' ' Text 'typeis' Keyword ' ' Text 'Person' Name ' ' Text 'and' Name ' ' Text 'not' Name ' ' Text 'ALL_PEOPLE' Name '.' Operator 'containsKey' Name.Attribute '(' Operator ' ' Text 'contact' Name '.' Operator 'Name' Name.Attribute ' ' Text ')' Operator ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'addPerson' Name '(' Operator ' ' Text 'contact' Name ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'static' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'getAllPeopleOlderThanNOrderedByName' Name.Function '(' Operator ' ' Text 'age' Name ' ' Text ':' Operator ' ' Text 'int' Keyword.Type ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'var' Keyword.Declaration ' ' Text 'allPeople' Name ' ' Text '=' Operator ' ' Text 'ALL_PEOPLE' Name '.' Operator 'Values' Name.Attribute '\n' Text '\n' Text ' ' Text 'return' Keyword ' ' Text 'allPeople' Name '.' Operator 'where' Name.Attribute '(' Operator ' ' Text '\\' Operator ' ' Text 'p' Name ' ' Text '-' Operator '>' Operator ' ' Text 'p' Name '.' Operator 'Age' Name.Attribute ' ' Text '>' Operator ' ' Text 'age' Name ' ' Text ')' Operator '.' Operator 'orderBy' Name.Attribute '(' Operator ' ' Text '\\' Operator ' ' Text 'p' Name ' ' Text '-' Operator '>' Operator ' ' Text 'p' Name '.' Operator 'Name' Name.Attribute ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text 'static' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'loadPersonFromDB' Name.Function '(' Operator ' ' Text 'id' Name ' ' Text ':' Operator ' ' Text 'Integer' Name ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'using' Keyword '(' Operator ' ' Text 'var' Keyword.Declaration ' ' Text 'conn' Name ' ' Text '=' Operator ' ' Text 'DBConnectionManager' Name '.' Operator 'getConnection' Name.Attribute '(' Operator ')' Operator ',' Operator '\n' Text ' ' Text 'var' Keyword.Declaration ' ' Text 'stmt' Name ' ' Text '=' Operator ' ' Text 'conn' Name '.' Operator 'prepareStatement' Name.Attribute '(' Operator ' ' Text '"' Literal.String 'S' Literal.String 'E' Literal.String 'L' Literal.String 'E' Literal.String 'C' Literal.String 'T' Literal.String ' ' Literal.String 'n' Literal.String 'a' Literal.String 'm' Literal.String 'e' Literal.String ',' Literal.String ' ' Literal.String 'a' Literal.String 'g' Literal.String 'e' Literal.String ',' Literal.String ' ' Literal.String 'r' Literal.String 'e' Literal.String 'l' Literal.String 'a' Literal.String 't' Literal.String 'i' Literal.String 'o' Literal.String 'n' Literal.String 's' Literal.String 'h' Literal.String 'i' Literal.String 'p' Literal.String ' ' Literal.String 'F' Literal.String 'R' Literal.String 'O' Literal.String 'M' Literal.String ' ' Literal.String 'P' Literal.String 'E' Literal.String 'O' Literal.String 'P' Literal.String 'L' Literal.String 'E' Literal.String ' ' Literal.String 'W' Literal.String 'H' Literal.String 'E' Literal.String 'R' Literal.String 'E' Literal.String ' ' Literal.String 'I' Literal.String 'D' Literal.String '=' Literal.String '?' Literal.String '"' Literal.String ')' Operator ' ' Text ')' Operator '{' Operator '\n' Text '\n' Text ' ' Text 'stmt' Name '.' Operator 'setInt' Name.Attribute '(' Operator ' ' Text '0' Literal.Number.Integer ',' Operator ' ' Text '0' Literal.Number.Integer ' ' Text ')' Operator '\n' Text ' ' Text 'var' Keyword.Declaration ' ' Text 'result' Name ' ' Text '=' Operator ' ' Text 'stmt' Name '.' Operator 'executeQuery' Name.Attribute '(' Operator ')' Operator '\n' Text ' ' Text 'if' Keyword '(' Operator ' ' Text 'result' Name '.' Operator 'next' Name.Attribute '(' Operator ')' Operator ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'addPerson' Name '(' Operator ' ' Text 'new' Keyword ' ' Text 'Person' Name '(' Operator ' ' Text 'result' Name '.' Operator 'getString' Name.Attribute '(' Operator ' ' Text '"' Literal.String 'n' Literal.String 'a' Literal.String 'm' Literal.String 'e' Literal.String '"' Literal.String ' ' Text ')' Operator ',' Operator '\n' Text ' ' Text 'result' Name '.' Operator 'getInt' Name.Attribute '(' Operator ' ' Text '"' Literal.String 'a' Literal.String 'g' Literal.String 'e' Literal.String '"' Literal.String ' ' Text ')' Operator ',' Operator '\n' Text ' ' Text 'Relationship' Name '.' Operator 'valueOf' Name.Attribute '(' Operator ' ' Text 'result' Name '.' Operator 'getString' Name.Attribute '(' Operator ' ' Text '"' Literal.String 'r' Literal.String 'e' Literal.String 'l' Literal.String 'a' Literal.String 't' Literal.String 'i' Literal.String 'o' Literal.String 'n' Literal.String 's' Literal.String 'h' Literal.String 'i' Literal.String 'p' Literal.String '"' Literal.String ' ' Text ')' Operator ' ' Text ')' Operator ' ' Text ')' Operator ' ' Text ')' Operator '\n' Text '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text '/* Loads in people from a CSV */' Comment.Multiline '\n' Text ' ' Text 'static' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'loadFromFile' Name.Function '(' Operator ' ' Text 'file' Name ' ' Text ':' Operator ' ' Text 'File' Name ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'file' Name '.' Operator 'eachLine' Name.Attribute '(' Operator ' ' Text '\\' Operator ' ' Text 'line' Name ' ' Text '-' Operator '>' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'if' Keyword '(' Operator ' ' Text 'line' Name '.' Operator 'HasContent' Name.Attribute ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'addPerson' Name '(' Operator ' ' Text 'line' Name '.' Operator 'toPerson' Name.Attribute '(' Operator ')' Operator ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text '}' Operator ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text '\n' Text ' ' Text '/* Save people to a CSV */' Comment.Multiline '\n' Text ' ' Text 'static' Keyword.Declaration ' ' Text 'function' Keyword.Declaration ' ' Text 'saveToFile' Name.Function '(' Operator ' ' Text 'file' Name ' ' Text ':' Operator ' ' Text 'File' Name ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'using' Keyword '(' Operator ' ' Text 'var' Keyword.Declaration ' ' Text 'writer' Name ' ' Text '=' Operator ' ' Text 'new' Keyword ' ' Text 'FileWriter' Name '(' Operator ' ' Text 'file' Name ' ' Text ')' Operator ' ' Text ')' Operator ' ' Text '{' Operator '\n' Text ' ' Text 'print' Name '(' Operator ' ' Text 'PersonCSVTemplate' Name '.' Operator 'renderToString' Name.Attribute '(' Operator ' ' Text 'ALL_PEOPLE' Name '.' Operator 'Values' Name.Attribute ' ' Text ')' Operator ' ' Text ')' Operator '\n' Text ' ' Text 'PersonCSVTemplate' Name '.' Operator 'render' Name.Attribute '(' Operator ' ' Text 'writer' Name ',' Operator ' ' Text 'ALL_PEOPLE' Name '.' Operator 'Values' Name.Attribute ' ' Text ')' Operator '\n' Text ' ' Text '}' Operator '\n' Text ' ' Text '}' Operator '\n' Text '}' Operator '\n' Text