Ввести новый класс, как показано ниже
@XmlRootElement(name = "responseList")
public class ResposeList {
private List<Object> list;
public List<Object> getList() {
return list;
}
public void setList(List<Object> list) {
this.list = list;
}
}
, и установить список ниже
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_XML)
public ResposeList addObjects() {
Book book = new Book();
book.setName("Here is the Game");
book.setAuthor("HHH");
BookStore bookstore = new BookStore();
bookstore.setName("Prateek Bookstore");
bookstore.setLocation("Vasanth Nagar");
ArrayList<Object> list = new ArrayList<Object>();
list.add(book);
list.add(bookstore);
ResposeList books=new ResposeList();
books.setList(list);
return books;
}
Это приносит пользу кодиру, уменьшая сумму, которую он должен ввести (и прочитать).
Чтобы использовать пример C ++ на Wikipedia:
до:
int main(int argc, char **argv) {
GlutApp app(argc, argv);
app.setDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_ALPHA|GLUT_DEPTH); // Set framebuffer params
app.setWindowSize(500, 500); // Set window params
app.setWindowPosition(200, 200);
app.setTitle("My OpenGL/GLUT App");
app.create();
}
после:
int main(int argc, char **argv) {
FluentGlutApp app(argc, argv)
.withDoubleBuffer().withRGBA().withAlpha().withDepth()
.at(200, 200).across(500, 500)
.named("My OpenGL/GLUT App");
app.create();
}
Существуют различные интерпретации термина «свободный интерфейс». Обычный способ создания одного в C ++ является цепочкой для методов, который обычно используется в примере библиотеки IOStream:
Object.MethodA().MethodB();
cout << "a = " << a;
названный параметром IDIOM - еще один приятный пример интерфейса беглостей:
Window w = CreateWindow()
.Width(400)
.Height(300)
.OnTop();
? Код, который лучше читаемый и более гибкий, хотя это все еще зависит от реализации курса.
Одним из больших различий и преимуществ бегло-интерфейса является то, что вам не нужна переменная экземпляра для изменения некоторых свойств, когда вы хотите создать объект и использовать его как аргумент:
без:
Object object;
object.setcolor("red");
object.setstyle("solid");
object.setname("test");
world.CreateNode(object);
с свободным Интерфейс:
world.CreateNode(Object()
.setcolor("red")
.setstyle("solid")
.setname("test")
);