blob: 78610d86d764c00b5d70bf0ab78a4ee553289e7d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 Red Hat.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat - Initial Contribution
*******************************************************************************/
package org.eclipse.linuxtools.internal.docker.core;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import com.spotify.docker.client.messages.ImageSearchResult;
/**
* Binding for Image Search Results from a Registry V1.
*
* While the Docker Remote API search against Docker Hub may return just a list
* of {@link ImageSearchResult}, standard V1 registries seem to require this
* kind of structure as the results are paginated.
*/
@JsonAutoDetect(fieldVisibility = ANY, getterVisibility = NONE, setterVisibility = NONE)
public class ImageSearchResultV1 {
@JsonProperty("num_pages") //$NON-NLS-1$
private int totalPages;
@JsonProperty("num_results") //$NON-NLS-1$
private int totalResults;
@JsonProperty("page_size") //$NON-NLS-1$
private int pageSize;
@JsonProperty("page") //$NON-NLS-1$
private int page;
@JsonProperty("query") //$NON-NLS-1$
private String query;
@JsonProperty("results") //$NON-NLS-1$
private List<ImageSearchResult> result;
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public int getTotalResults() {
return totalResults;
}
public void setTotalResults(int totalResults) {
this.totalResults = totalResults;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public List<ImageSearchResult> getResult() {
return result;
}
public void setResult(List<ImageSearchResult> result) {
this.result = result;
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("num_pages", getTotalPages()) //$NON-NLS-1$
.add("num_results", getTotalResults()) //$NON-NLS-1$
.add("page_size", getPageSize()) //$NON-NLS-1$
.add("page", getPage()) //$NON-NLS-1$
.add("query", getQuery()).toString(); //$NON-NLS-1$
}
}