Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Fluent API на Java / 4 сообщений из 4, страница 1 из 1
26.10.2013, 00:40:37
    #38442032
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Fluent API на Java
Кто пытался реализовать подобное, поделитесь материалом. Побывал гуглить, но все примеры не очень подробные.
...
Рейтинг: 0 / 0
28.10.2013, 11:16:36
    #38443134
rfq
rfq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Fluent API на Java
rdm,

а какие вам еще ссылки нужны, если гугл выдает 30000 ссылок на запрос "Fluent API"+Java? Тут только идею ухватить, и вперед. Я вот реализовал класс PipeLine , использование см. в PipeLineTes#testPostFailure .
...
Рейтинг: 0 / 0
30.10.2013, 00:36:26
    #38445974
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Fluent API на Java
rfq, я не нашел нормальное объяснение как это реализуется. В одном месте пишут про реализацию статический внутренний класс, где-то через интерфейсы, видел пример только с анонимными классами.
...
Рейтинг: 0 / 0
30.10.2013, 17:12:16
    #38447106
rfq
rfq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Fluent API на Java
rdm,

в первом приближении это релизуется с помощью нехитрого приема: каждый метод класса возвращает this, что позволяет тут же вызывать следующий метод.
Код: java
1.
2.
3.
4.
5.
6.
StringBuilder sb=new StringBuilder();

sb.append("Hello");
sb.append(" world"); // verbose API

sb.append("Hello").append(" world"); // fluent API


В более сложных случаях возвращаются объекты других типов, с другими методами:
Код: java
1.
2.
3.
char ch=new StringBuilder().append("Hello").append(" world").toString().split(" ")[1].charAt(1);

Pipeline pipeline = new Pipeline().setSource(new CharBufSource()).addTransformer(new MyCopyTransformer()).setSink(new CharBufSink());


и получается специализированный язычок.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Fluent API на Java / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]