Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EDT:Code snippets"
(→Declaring data) |
(→Declaring data) |
||
Line 2: | Line 2: | ||
== Declaring data <br> == | == Declaring data <br> == | ||
+ | |||
+ | Native types: | ||
+ | |||
+ | :simple value types: Date, Decimal(n), String(n), Timestamp(n) | ||
+ | |||
+ | :simple reference types: | ||
'''Variables''' | '''Variables''' | ||
Line 7: | Line 13: | ||
<source lang="java"> | <source lang="java"> | ||
// defaults to 0 | // defaults to 0 | ||
− | someVal | + | someVal Int; |
// defaults to null. | // defaults to null. | ||
− | someVal | + | someVal Int?; |
// initializes value to 15 (future value can be null). | // initializes value to 15 (future value can be null). | ||
− | someVal | + | someVal Int? = 15; |
// initializes value to 23. | // initializes value to 23. | ||
− | someVal | + | someVal Int = 23; |
// defaults to "". | // defaults to "". | ||
Line 31: | Line 37: | ||
// number with 5 total digits (2 after the decimal point). Defaults to 000.00. | // number with 5 total digits (2 after the decimal point). Defaults to 000.00. | ||
− | amount | + | amount Decimal(5,2); |
// defaults to 0.0. | // defaults to 0.0. | ||
− | coord | + | coord Float; |
// defaults to false | // defaults to false | ||
− | toggle | + | toggle Boolean; |
// defaults to today's date. | // defaults to today's date. | ||
− | dob | + | dob Date; |
// defaults to the current timestamp. | // defaults to the current timestamp. | ||
− | ts | + | ts Timestamp?; |
// value can be set to any value (primitive, object, etc). See the casting examples later. | // value can be set to any value (primitive, object, etc). See the casting examples later. | ||
− | x | + | x Any?; |
</source> | </source> | ||
Line 53: | Line 59: | ||
<source lang="java"> | <source lang="java"> | ||
− | vals | + | vals Int[]; // new dynamic array of size 0 |
− | vals | + | vals Int[]?; // dynamic list, but not instantiated (vals must be instantiated before it can be accessed) |
− | vals | + | vals Int[] = new Int[4]; // new dynamic array of size 4; all values set to their default value (0 in this example) |
− | names | + | names String[] = [ "Paul", "John", "George", "Ringo" ]; // dynamic array, initialized with 4 values |
names[1] = "Bob"; // assigns the first index in the array to "Bob" | names[1] = "Bob"; // assigns the first index in the array to "Bob" | ||
names[names.getSize()] = "Ken"; // assigns the last index in the array to "Ken" | names[names.getSize()] = "Ken"; // assigns the last index in the array to "Ken" | ||
− | cities | + | cities String[]; // new dynamic array of size 0 |
cities.appendElement("Delta"); // appends a new value to the end of the array | cities.appendElement("Delta"); // appends a new value to the end of the array | ||
− | cities.appendAll([ "Denver", "Pueblo" ]); // appends two new values to the end of the | + | cities.appendAll([ "Denver", "Pueblo" ]); // appends two new values to the end of the list cities.removeElement(2); // removes the second value in the array |
− | cities.removeElement(2); // removes the second value in the array | + | |
cities.removeAll(); // removes all values from the array | cities.removeAll(); // removes all values from the array | ||
Line 73: | Line 78: | ||
<source lang="java"> | <source lang="java"> | ||
− | // value is not changeable. | + | // The value is not changeable. |
− | const NUMBEROFDAYS | + | const NUMBEROFDAYS Int = 7; |
− | // values are changeable, but the name cannot refer to another list. | + | // The element values are changeable, but the name cannot refer to another list. |
const MINIMUMNUMBERS INT[] = [1,2,3,4,5]; | const MINIMUMNUMBERS INT[] = [1,2,3,4,5]; | ||
</source> | </source> |
Revision as of 15:12, 7 February 2012
Please share your code snippets!
Declaring data
Native types:
- simple value types: Date, Decimal(n), String(n), Timestamp(n)
- simple reference types:
Variables
// defaults to 0 someVal Int; // defaults to null. someVal Int?; // initializes value to 15 (future value can be null). someVal Int? = 15; // initializes value to 23. someVal Int = 23; // defaults to "". firstName String; // defaults to null. firstName String?; // initializes value to "John". firstName String = "John"; // defaults to 0. largeVal Bigint; // number with 5 total digits (2 after the decimal point). Defaults to 000.00. amount Decimal(5,2); // defaults to 0.0. coord Float; // defaults to false toggle Boolean; // defaults to today's date. dob Date; // defaults to the current timestamp. ts Timestamp?; // value can be set to any value (primitive, object, etc). See the casting examples later. x Any?;
Lists
vals Int[]; // new dynamic array of size 0 vals Int[]?; // dynamic list, but not instantiated (vals must be instantiated before it can be accessed) vals Int[] = new Int[4]; // new dynamic array of size 4; all values set to their default value (0 in this example) names String[] = [ "Paul", "John", "George", "Ringo" ]; // dynamic array, initialized with 4 values names[1] = "Bob"; // assigns the first index in the array to "Bob" names[names.getSize()] = "Ken"; // assigns the last index in the array to "Ken" cities String[]; // new dynamic array of size 0 cities.appendElement("Delta"); // appends a new value to the end of the array cities.appendAll([ "Denver", "Pueblo" ]); // appends two new values to the end of the list cities.removeElement(2); // removes the second value in the array cities.removeAll(); // removes all values from the array
Constants
// The value is not changeable. const NUMBEROFDAYS Int = 7; // The element values are changeable, but the name cannot refer to another list. const MINIMUMNUMBERS INT[] = [1,2,3,4,5];
Rich UI
Services
Calling a REST service
http HttpRest{request.uri="http:host\\myService"}; srvc IRest?; srvc = ServiceLib.completeBind(srvc, http);
Accessing HTTP request headers
http HttpRest{}; http.request.headers = new Dictionary { param1 = "a value to pass to my service" }; srvc IRest?{@Resource {}}; srvc = ServiceLib.completeBind(srvc, http);
HTTP request and response
function invokeDoSomething() call srvc.doSomething() returning to serviceCallback; end function serviceCallback(returnValueOne String, callbackHttp IHTTP in) // process callback request or response end
Database access
Defining a record
record CUSTOMER type Entity{@table{name = "CUSTOMER"}} // record is bound to the CUSTOMER table (or view) CUSTID string{@id}; // primary key field NAME string; COUNTRY string; STATE string?; // nullable field end
Getting a record
function getCustomer(someId String in} returns (Customer) ds SQLDataSource?{@resource {}}; // declares a data source that will use binding name "ds" (since a name is not specified) aCust Customer; // declares and empty customer record get aCust from ds using(someId); // gets the record in the table that has a key value of someID and populates the customer record get aCust from ds using(someId) with #sql{ // alternative approach for getting a single record (allows for customizing the SQL) SELECT * FROM CUSTOMER WHERE id = ? }; vals Dictionary; // declares a new dictionary get vals from ds using(someId) with #sql{ // alternative approach for getting a single record (does not require a Record definition) SELECT * FROM CUSTOMER WHERE id = ? }; // creates a key/value pair in the dictionary for each column in the result set return (aCust); end
function getCustomer(} returns (Customer[]) ds SQLDataSource?{@resource {}}; // declares a data source that will use binding name "ds" (since a name is not specified) custs Customer[]; // declares a new dynamic array of customer records get custs from ds; // populates the array with a Customer record for each row in the result set get custs from ds with #sql { select * from customer where state = 'CO' }; // populates the array, but with a limited set of Customer records state String = "CO"; get custs from ds using(state) with #sql { select * from customer where state = ? }; // parameterized version of the previous example end
Inserting a record
function addCustomer{customer Customer in} ds SQLDataSource?{@resource {}}; add customer to ds; end
Looping through a SQL result set
function loopCust() ds SQLDataSource?{@resource{uri = "binding:myDB" }}; // declares a new data source rs SQLResultSet?; // declares a new result set open rs from ds with #sql{ // opens a result set using the specified SQL query SELECT * FROM CUSTOMER }; myCust Customer; //Loop through results and write out customer name while(rs.getNext()) get myCust from rs; Syslib.writeStdOut ("Customer name: " + myCust.name); end end
Edit this page by logging in to eclipse.org and clicking the Edit tab. Use the Wikitext editor to add a new snippet. Add the title using Heading 4. Use the source lang="java" tag to provide a background for your snippet and some syntax highlighting.