All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.perforce.p4java.option.server.UnloadOptions Maven / Gradle / Ivy

Go to download

P4Java, the Perforce Java API is a Java-native API for accessing Perforce SCM services from within Java applications, servlets, plug-ins, and other Java contexts.

The newest version!
/**
 *
 */
package com.perforce.p4java.option.server;

import com.perforce.p4java.exception.OptionsException;
import com.perforce.p4java.option.Options;
import com.perforce.p4java.server.IServer;

import java.util.List;

/**
 * Options class for Perforce unload methods.
 * 

* * Note that the full semantics of these options are found in the main 'p4 help * unload' documentation. */ public class UnloadOptions extends Options { /** * Options: p4 unload [-f -L -z] [-c client | -l label | -s stream] *

* Options: p4 unload [-f -L -z] [-a|-al|-ac] [-d date | -u user] */ public static final String OPTIONS_SPECS = "b:f b:L b:z s:c s:l s:s s:a s:d s:u"; /** * If true, forces the unloading of the specified client or label. * Corresponds to the -f flag. *

* * By default, users can only unload their own clients or labels. The -f * flag requires 'admin' access, which is granted by 'p4 protect'. */ protected boolean force = false; /** * If true, specifies that the client, label, or task stream should be * unloaded even if it is locked. Corresponds to the -L flag. */ protected boolean locked = false; /** * If true, specifies that the client or label should be stored in * compressed format. Corresponds to the -z flag. */ protected boolean compress = false; /** * If not null, unload the specified client. Corresponds to the -c client * flag. */ protected String client = null; /** * If not null, unload the specified label. Corresponds to the -l label * flag. */ protected String label = null; /** * If not null, unload the specified task stream. Corresponds to the -s * label flag. */ protected String stream = null; /** * If not null, specifies set of clients and/or labels are unloaded. * Corresponds to the -a, -al -ac flags. *

* * If it is empty (empty string ""), it would unload all (-a) clients and * labels. If it is "c", it would unload all clients (-ac). If it is "l", it * would unload all labels (-al). *

* * Note that if the -a flag is specified, the specified set of clients * and/or labels are unloaded. Specify -d and a date to unload all clients * and/or labels older than that date. When -a is specified, you must * specify either -d or -u (or both), and you may not specify the -c or -l * flags. */ protected String all = null; /** * If not null, unload all clients and/or labels older than that date. * Corresponds to the -d date flag. *

* * The following are valid Perforce date string formats: * *

	 * yyyy/mm/dd
	 * yyyy/mm/dd:hh:mm:ss
	 * yyyy/mm/dd hh:mm:ss
	 * 
*/ protected String date = null; /** * If not null, unload all clients and/or labels owned by that user. * Corresponds to the -u user flag. */ protected String user = null; /** * Default constructor. */ public UnloadOptions() { super(); } /** * Strings-based constructor; see 'p4 help [command]' for possible options. *

* * WARNING: you should not pass more than one option or argument in each * string parameter. Each option or argument should be passed-in as its own * separate string parameter, without any spaces between the option and the * option value (if any). *

* * NOTE: setting options this way always bypasses the internal options * values, and getter methods against the individual values corresponding to * the strings passed in to this constructor will not normally reflect the * string's setting. Do not use this constructor unless you know what you're * doing and / or you do not also use the field getters and setters. * * @param options options * @see com.perforce.p4java.option.Options#Options(java.lang.String...) */ public UnloadOptions(String... options) { super(options); } /** * Explicit value constructor. * * @param force force * @param compress compress * @param client client * @param label label */ public UnloadOptions(boolean force, boolean compress, String client, String label) { super(); this.force = force; this.compress = compress; this.client = client; this.label = label; } /** * Explicit value constructor. * * @param force force * @param compress compress * @param all all * @param date date * @param user user */ public UnloadOptions(boolean force, boolean compress, String all, String date, String user) { super(); this.force = force; this.compress = compress; this.all = all; this.date = date; this.user = user; } /** * @see com.perforce.p4java.option.Options#processOptions(com.perforce.p4java.server.IServer) */ public List processOptions(IServer server) throws OptionsException { this.optionList = this.processFields(OPTIONS_SPECS, this.isForce(), this.isLocked(), this.isCompress(), this.getClient(), this.getLabel(), this.getStream(), this.getAll(), this.getDate(), this.getUser()); return this.optionList; } public boolean isForce() { return force; } public UnloadOptions setForce(boolean force) { this.force = force; return this; } public boolean isLocked() { return locked; } public UnloadOptions setLocked(boolean locked) { this.locked = locked; return this; } public boolean isCompress() { return compress; } public UnloadOptions setCompress(boolean compress) { this.compress = compress; return this; } public String getClient() { return client; } public UnloadOptions setClient(String client) { this.client = client; return this; } public String getLabel() { return label; } public UnloadOptions setLabel(String label) { this.label = label; return this; } public String getStream() { return stream; } public UnloadOptions setStream(String stream) { this.stream = stream; return this; } public String getAll() { return all; } public UnloadOptions setAll(String all) { this.all = all; return this; } public String getDate() { return date; } public UnloadOptions setDate(String date) { this.date = date; return this; } public String getUser() { return user; } public UnloadOptions setUser(String user) { this.user = user; return this; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy