Skip to main content
2 of 2
added a an example showing how to search for users

##Search Examples

###Questions You can search for questions with StackWrap4J by instantiating a StackWrapper then calling the search method. Before calling search, you have to create a SearchQuery, which is a simple parameter object.

StackWrapper so = new StackOverflow();

SearchQuery query = new SearchQuery();
query.setTags("swing");
query.setNotTagged("java");
query.setPageSize(10);

List<Question> questions = so.search(query);
System.out.println("Questions: " + questions.size());

for(Question q : questions) {
    System.out.println("Id " + q.getPostId() + ":\t" + q.getTitle());
    System.out.println("Tags: " + q.getTags());
}

If you don't set the tags, nottagged, or intitle parameter in the SearchQuery, the search method will throw an exception.

If you need to modify your search, you can reuse the same query. If I decide I want to add the [scala] tag to the search I did above, I could just add the tag and call search again.

query.addTag("scala");
questions = so.search(query);
...

###Users You can do a search for users with similar names using the listUsers method and a UserQuery object. You just have to set the filter in the query.

UserQuery uquery = new UserQuery();
uquery.setFilter("Bill");
uquery.setPageSize(10);
List<User> bills = so.listUsers(uquery);

for(User u : bills) {
    System.out.println("Username: " + u.getDisplayName());
}