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

com.perforce.p4java.server.IServerImplMetadata 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!
/*
 * Copyright 2009 Perforce Software Inc., All Rights Reserved.
 */
package com.perforce.p4java.server;

/**
 * Provides an interface onto information about Perforce server
 * implementations available through the server factory. Useful
 * for presenting choices to end users, debugging, etc.
 */

public interface IServerImplMetadata {

	/**
	 * Describes the various known implementation types. There is currently
	 * only one implementation type, but this may change in the long term.
	 */
	enum ImplType {
		/**
		 * Type is unknown. Don't use this implementation....
		 */
		UNKNOWN,

		/**
		 * Java-native RPC protocol implementation.
		 */
		NATIVE_RPC
	}

	;

	/**
	 * @return a short name for this implementation, intended for use in menu
	 * pulldowns, etc. May contain spaces, but won't usually be more than 32
	 * characters long.
	 */
	String getScreenName();

	/**
	 * @return the canonical name of the implementation class
	 * associated with this implementation.
	 */
	String getImplClassName();

	/**
	 * @return true IFF this implementation will be used if the non-specific
	 * implementation scheme "p4j" is provided in the URI passed in to the
	 * server factory. There will be only one such default implementation
	 * for each factory.
	 */
	boolean isDefault();

	/**
	 * @return the implementation type associated with this implementation.
	 */
	ImplType getImplType();

	/**
	 * @return the URI scheme part to be used to specify this implementation
	 * to the server factory.
	 */
	String getUriScheme();

	/**
	 * @return the earliest Perforce server version that this implementation
	 * will work reliably against. Typically in the form 20073 or 20091, etc.
	 */
	int getMinimumServerLevel();

	/**
	 * @return any comments associated with the implementation. These
	 * should note any special restrictions or dependencies associated with
	 * the implementation that the user might need to know; this string
	 * may be null.
	 */
	String getComments();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy