/*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 * 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:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jdt.internal.core.util;

import java.text.MessageFormat;

import org.eclipse.osgi.util.NLS;

public final class Messages extends NLS {

	private static final String BUNDLE_NAME = "org.eclipse.jdt.internal.core.util.messages";//$NON-NLS-1$

	private Messages() {
		// Do not instantiate
	}

	public static String hierarchy_nullProject;
	public static String hierarchy_nullRegion;
	public static String hierarchy_nullFocusType;
	public static String hierarchy_creating;
	public static String hierarchy_creatingOnType;
	public static String element_doesNotExist;
	public static String element_notOnClasspath;
	public static String element_invalidClassFileName;
	public static String element_reconciling;
	public static String element_attachingSource;
	public static String element_invalidResourceForProject;
	public static String element_nullName;
	public static String element_nullType;
	public static String element_illegalParent;
	public static String sourcetype_invalidName;
	public static String operation_needElements;
	public static String operation_needName;
	public static String operation_needPath;
	public static String operation_needAbsolutePath;
	public static String operation_needString;
	public static String operation_notSupported;
	public static String operation_cancelled;
	public static String operation_nullContainer;
	public static String operation_nullName;
	public static String operation_copyElementProgress;
	public static String operation_moveElementProgress;
	public static String operation_renameElementProgress;
	public static String operation_copyResourceProgress;
	public static String operation_moveResourceProgress;
	public static String operation_renameResourceProgress;
	public static String operation_createUnitProgress;
	public static String operation_createFieldProgress;
	public static String operation_createImportsProgress;
	public static String operation_createInitializerProgress;
	public static String operation_createMethodProgress;
	public static String operation_createPackageProgress;
	public static String operation_createPackageFragmentProgress;
	public static String operation_createTypeProgress;
	public static String operation_deleteElementProgress;
	public static String operation_deleteResourceProgress;
	public static String operation_cannotRenameDefaultPackage;
	public static String operation_pathOutsideProject;
	public static String operation_sortelements;
	public static String workingCopy_commit;
	public static String build_preparingBuild;
	public static String build_readStateProgress;
	public static String build_saveStateProgress;
	public static String build_saveStateComplete;
	public static String build_readingDelta;
	public static String build_analyzingDeltas;
	public static String build_analyzingSources;
	public static String build_cleaningOutput;
	public static String build_copyingResources;
	public static String build_compiling;
	public static String build_foundHeader;
	public static String build_fixedHeader;
	public static String build_oneError;
	public static String build_oneWarning;
	public static String build_multipleErrors;
	public static String build_multipleWarnings;
	public static String build_done;
	public static String build_wrongFileFormat;
	public static String build_cannotSaveState;
	public static String build_cannotSaveStates;
	public static String build_initializationError;
	public static String build_serializationError;
	public static String build_classFileCollision;
	public static String build_duplicateClassFile;
	public static String build_duplicateResource;
	public static String build_inconsistentClassFile;
	public static String build_inconsistentProject;
	public static String build_incompleteClassPath;
	public static String build_missingSourceFile;
	public static String build_prereqProjectHasClasspathProblems;
	public static String build_prereqProjectMustBeRebuilt;
	public static String build_abortDueToClasspathProblems;
	public static String status_cannotUseDeviceOnPath;
	public static String status_coreException;
	public static String status_defaultPackageReadOnly;
	public static String status_evaluationError;
	public static String status_JDOMError;
	public static String status_IOException;
	public static String status_indexOutOfBounds;
	public static String status_invalidContents;
	public static String status_invalidDestination;
	public static String status_invalidName;
	public static String status_invalidPackage;
	public static String status_invalidPath;
	public static String status_invalidProject;
	public static String status_invalidResource;
	public static String status_invalidResourceType;
	public static String status_invalidSibling;
	public static String status_nameCollision;
	public static String status_noLocalContents;
	public static String status_OK;
	public static String status_readOnly;
	public static String status_targetException;
	public static String status_updateConflict;
	public static String classpath_buildPath;
	public static String classpath_cannotNestEntryInEntry;
	public static String classpath_cannotNestEntryInLibrary;
	public static String classpath_cannotNestEntryInOutput;
	public static String classpath_cannotNestOutputInEntry;
	public static String classpath_cannotNestOutputInOutput;
	public static String classpath_cannotReadClasspathFile;
	public static String classpath_cannotReferToItself;
	public static String classpath_cannotUseDistinctSourceFolderAsOutput;
	public static String classpath_cannotUseLibraryAsOutput;
	public static String classpath_closedProject;
	public static String classpath_couldNotWriteClasspathFile;
	public static String classpath_cycle;
	public static String classpath_duplicateEntryPath;
	public static String classpath_illegalContainerPath;
	public static String classpath_illegalEntryInClasspathFile;
	public static String classpath_illegalLibraryPath;
	public static String classpath_illegalLibraryArchive;
	public static String classpath_illegalExternalFolder;
	public static String classpath_illegalProjectPath;
	public static String classpath_illegalSourceFolderPath;
	public static String classpath_illegalVariablePath;
	public static String classpath_invalidClasspathInClasspathFile;
	public static String classpath_invalidContainer;
	public static String classpath_mustEndWithSlash;
	public static String classpath_unboundContainerPath;
	public static String classpath_unboundLibrary;
	public static String classpath_unboundProject;
	public static String classpath_settingOutputLocationProgress;
	public static String classpath_settingProgress;
	public static String classpath_unboundSourceAttachment;
	public static String classpath_unboundSourceFolder;
	public static String classpath_unboundVariablePath;
	public static String classpath_unknownKind;
	public static String classpath_xmlFormatError;
	public static String classpath_disabledInclusionExclusionPatterns;
	public static String classpath_disabledMultipleOutputLocations;
	public static String classpath_incompatibleLibraryJDKLevel;
	public static String classpath_duplicateEntryExtraAttribute;
	public static String file_notFound;
	public static String file_badFormat;
	public static String path_nullPath;
	public static String path_mustBeAbsolute;
	public static String cache_invalidLoadFactor;
	public static String savedState_jobName;
	public static String javamodel_initialization;
	public static String restrictedAccess_project;
	public static String restrictedAccess_library;
	public static String convention_unit_nullName;
	public static String convention_unit_notJavaName;
	public static String convention_classFile_nullName;
	public static String convention_classFile_notClassFileName;
	public static String convention_illegalIdentifier;
	public static String convention_import_nullImport;
	public static String convention_import_unqualifiedImport;
	public static String convention_type_nullName;
	public static String convention_type_nameWithBlanks;
	public static String convention_type_dollarName;
	public static String convention_type_lowercaseName;
	public static String convention_type_invalidName;
	public static String convention_package_nullName;
	public static String convention_package_emptyName;
	public static String convention_package_dotName;
	public static String convention_package_nameWithBlanks;
	public static String convention_package_consecutiveDotsName;
	public static String convention_package_uppercaseName;
	public static String dom_cannotDetail;
	public static String dom_nullTypeParameter;
	public static String dom_nullNameParameter;
	public static String dom_nullReturnType;
	public static String dom_nullExceptionType;
	public static String dom_mismatchArgNamesAndTypes;
	public static String dom_addNullChild;
	public static String dom_addIncompatibleChild;
	public static String dom_addChildWithParent;
	public static String dom_unableAddChild;
	public static String dom_addAncestorAsChild;
	public static String dom_addNullSibling;
	public static String dom_addSiblingBeforeRoot;
	public static String dom_addIncompatibleSibling;
	public static String dom_addSiblingWithParent;
	public static String dom_addAncestorAsSibling;
	public static String dom_addNullInterface;
	public static String dom_nullInterfaces;
	public static String correction_nullRequestor;
	public static String correction_nullUnit;
	public static String engine_searching;
	public static String engine_searching_indexing;
	public static String engine_searching_matching;
	public static String exception_wrongFormat;
	public static String process_name;
	public static String manager_filesToIndex;
	public static String manager_indexingInProgress;
	public static String disassembler_description;
	public static String disassembler_opentypedeclaration;
	public static String disassembler_closetypedeclaration;
	public static String disassembler_parametername;
	public static String disassembler_localvariablename;
	public static String disassembler_endofmethodheader;
	public static String disassembler_begincommentline;
	public static String disassembler_fieldhasconstant;
	public static String disassembler_endoffieldheader;
	public static String disassembler_sourceattributeheader;
	public static String disassembler_enclosingmethodheader;
	public static String disassembler_exceptiontableheader;
	public static String disassembler_linenumberattributeheader;
	public static String disassembler_localvariabletableattributeheader;
	public static String disassembler_localvariabletypetableattributeheader;
	public static String disassembler_arraydimensions;
	public static String disassembler_innerattributesheader;
	public static String disassembler_inner_class_info_name;
	public static String disassembler_outer_class_info_name;
	public static String disassembler_inner_name;
	public static String disassembler_inner_accessflags;
	public static String disassembler_genericattributeheader;
	public static String disassembler_signatureattributeheader;
	public static String disassembler_indentation;
	public static String disassembler_constantpoolindex;
	public static String disassembler_space;
	public static String disassembler_comma;
	public static String disassembler_openinnerclassentry;
	public static String disassembler_closeinnerclassentry;
	public static String disassembler_deprecated;
	public static String disassembler_constantpoolheader;
	public static String disassembler_constantpool_class;
	public static String disassembler_constantpool_double;
	public static String disassembler_constantpool_float;
	public static String disassembler_constantpool_integer;
	public static String disassembler_constantpool_long;
	public static String disassembler_constantpool_string;
	public static String disassembler_constantpool_fieldref;
	public static String disassembler_constantpool_interfacemethodref;
	public static String disassembler_constantpool_methodref;
	public static String disassembler_constantpool_name_and_type;
	public static String disassembler_constantpool_utf8;
	public static String disassembler_annotationdefaultheader;
	public static String disassembler_annotationdefaultvalue;
	public static String disassembler_annotationenumvalue;
	public static String disassembler_annotationclassvalue;
	public static String disassembler_annotationannotationvalue;
	public static String disassembler_annotationarrayvaluestart;
	public static String disassembler_annotationarrayvalueend;
	public static String disassembler_annotationentrystart;
	public static String disassembler_annotationentryend;
	public static String disassembler_annotationcomponent;
	public static String disassembler_runtimevisibleannotationsattributeheader;
	public static String disassembler_runtimeinvisibleannotationsattributeheader;
	public static String disassembler_runtimevisibleparameterannotationsattributeheader;
	public static String disassembler_runtimeinvisibleparameterannotationsattributeheader;
	public static String disassembler_parameterannotationentrystart;
	public static String classfileformat_versiondetails;
	public static String classfileformat_methoddescriptor;
	public static String classfileformat_fieldddescriptor;
	public static String classfileformat_stacksAndLocals;
	public static String classfileformat_superflagisnotset;
	public static String classfileformat_superflagisset;
	public static String classfileformat_clinitname;
	public static String classformat_classformatexception;
	public static String classformat_anewarray;
	public static String classformat_checkcast;
	public static String classformat_instanceof;
	public static String classformat_ldc_w_class;
	public static String classformat_ldc_w_float;
	public static String classformat_ldc_w_integer;
	public static String classformat_ldc_w_string;
	public static String classformat_ldc2_w_long;
	public static String classformat_ldc2_w_double;
	public static String classformat_multianewarray;
	public static String classformat_new;
	public static String classformat_iinc;
	public static String classformat_invokespecial;
	public static String classformat_invokeinterface;
	public static String classformat_invokestatic;
	public static String classformat_invokevirtual;
	public static String classformat_getfield;
	public static String classformat_getstatic;
	public static String classformat_putstatic;
	public static String classformat_putfield;
	public static String classformat_newarray_boolean;
	public static String classformat_newarray_char;
	public static String classformat_newarray_float;
	public static String classformat_newarray_double;
	public static String classformat_newarray_byte;
	public static String classformat_newarray_short;
	public static String classformat_newarray_int;
	public static String classformat_newarray_long;
	public static String classformat_store;
	public static String classformat_load;
	public static String classfileformat_anyexceptionhandler;
	public static String classfileformat_exceptiontableentry;
	public static String classfileformat_linenumbertableentry;
	public static String classfileformat_localvariabletableentry;

	static {
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}
	
	/**
	 * Bind the given message's substitution locations with the given string values.
	 * 
	 * @param message the message to be manipulated
	 * @return the manipulated String
	 */
	public static String bind(String message) {
		return bind(message, null);
	}
	
	/**
	 * Bind the given message's substitution locations with the given string values.
	 * 
	 * @param message the message to be manipulated
	 * @param binding the object to be inserted into the message
	 * @return the manipulated String
	 */
	public static String bind(String message, Object binding) {
		return bind(message, new Object[] {binding});
	}

	/**
	 * Bind the given message's substitution locations with the given string values.
	 * 
	 * @param message the message to be manipulated
	 * @param binding1 An object to be inserted into the message
	 * @param binding2 A second object to be inserted into the message
	 * @return the manipulated String
	 */
	public static String bind(String message, Object binding1, Object binding2) {
		return bind(message, new Object[] {binding1, binding2});
	}

	/**
	 * Bind the given message's substitution locations with the given string values.
	 * 
	 * @param message the message to be manipulated
	 * @param bindings An array of objects to be inserted into the message
	 * @return the manipulated String
	 */
	public static String bind(String message, Object[] bindings) {
		return MessageFormat.format(message, bindings);
	}
}