/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.plugin.docker.client.params; import org.eclipse.che.plugin.docker.client.json.Filters; import java.util.Objects; /** * Arguments holder for {@link org.eclipse.che.plugin.docker.client.DockerConnector#listImages(ListImagesParams)}. * * @author Mykola Morhun */ public class ListImagesParams { private Boolean all; private Filters filters; private Boolean digests; /** * Creates arguments holder. */ public static ListImagesParams create() { return new ListImagesParams(); } private ListImagesParams() {} /** * Adds all flag to this parameters. * * @param all * if true show all images. * Only images from a final layer (no children) are shown by default. * @return this params instance */ public ListImagesParams withAll(Boolean all) { this.all = all; return this; } /** * Adds filters to this parameters. * * @param filters * Available filters: * <ul> * <li><code>before</code>=(<code><image-name>[:<tag>]</code>, <code><image id></code> or <code><image@digest></code>)</li> * <li><code>dangling=true</code></li> * <li><code>label=key</code> or <code>label="key=value"</code> of an image label</li> * <li><code>reference</code>=(<code><image-name>[:<tag>]</code>)</li> * <li><code>since</code>=(<code><image-name>[:<tag>]</code>, <code><image id></code> or <code><image@digest></code>)</li> * </ul> * @return this params instance */ public ListImagesParams withFilters(Filters filters) { this.filters = filters; return this; } /** * Adds all flag to this parameters. * * @param digests * if true show digest information on each image * @return this params instance */ public ListImagesParams withDigestst(Boolean digests) { this.digests = digests; return this; } public Boolean getAll() { return all; } public Filters getFilters() { return filters; } public Boolean getDigests() { return digests; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ListImagesParams that = (ListImagesParams)o; return Objects.equals(all, that.all) && Objects.equals(filters, that.filters) && Objects.equals(digests, that.digests); } @Override public int hashCode() { return Objects.hash(all, filters, digests); } }