Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
public static void main(String[] a) {
System.out.println("\nFit\n");
Fit‹String› g = new Fit‹String›()
.item("English", "w1", "First")
.item("English", "w2", "Second")
.item("English", "w3", "Third")
.item("Spain", "w1", "Primero")
.item("Spain", "w2", "Segundo")
.item("Spain", "w3", "Tercera");
Note s1 = new Note().bind(g.find("w1"));
Note s2 = new Note().bind(g.find("w2"));
Note s3 = new Note().bind(g.find("w3"));
Note s4 = new Note().bind(g.find("w4"));
System.out.println("/set English");
g.selector().value("English");
System.out.println(s1.value() + ", " + s2.value() + ", " + s3.value() + ", " + s4.value());
System.out.println("/set Spain");
g.selector().value("Spain");
System.out.println(s1.value() + ", " + s2.value() + ", " + s3.value() + ", " + s4.value());
}
Fit
/set English
First, Second, Third, null
/set Spain
Primero, Segundo, Tercera, null
Numeric n = new Numeric().value(-10);
Note r = new Note().bind(new Fork‹String›()
.condition(new Toggle().less(n, -5))
.then("Frost")
.otherwise(new Fork‹String›()
.condition(new Toggle().less(n, +15))
.then("Cold")
.otherwise(new Fork‹String›()
.condition(new Toggle().less(n, +30))
.then("Warm")
.otherwise("Hot")
)));
r.value("Hot");
System.out.println(n.value()); // Что будет выведено?
System.out.println("\nbidirectional Fork\n");
Note dialect = new Note().value("MS SQL");
Note forMSSQL = new Note().value("select top 10 * from table1");
Note forPostgreSQL = new Note().value("select * from table1 limit 10");
System.out.println("forMSSQL: "+forMSSQL.value());
System.out.println("forPostgreSQL: "+forPostgreSQL.value());
Note command = new Note();
command.bind(Note
.iF(dialect.similar("MS SQL"))
.then(forMSSQL)
.otherwise(forPostgreSQL));
System.out.println("dialect: " + dialect.value() + ", command: " + command.value());
System.out.println("/let dialect isn't MS SQL");
dialect.value("PostgreSQL");
System.out.println("dialect: " + dialect.value() + ", command: " + command.value());
System.out.println("/let command = select field1,filed2 from table1 limit 10");
command.value("select field1,filed2 from table1 limit 10");
System.out.println("command: " + command.value());
System.out.println("forMSSQL: " + forMSSQL.value());
System.out.println("forPostgreSQL: " + forPostgreSQL.value());
forMSSQL: select top 10 * from table1
forPostgreSQL: select * from table1 limit 10
dialect: MS SQL, command: select top 10 * from table1
/let dialect isn't MS SQL
dialect: PostgreSQL, command: select * from table1 limit 10
/let command = select field1,filed2 from table1 limit 10
command: select field1,filed2 from table1 limit 10
forMSSQL: select top 10 * from table1
forPostgreSQL: select field1,filed2 from table1 limit 10
Функциональное программирование в Java