platform35/org.eclipse.core.resources/src/org/eclipse/core/internal/properties/IPropertyManager.java
author timkelly
Thu, 30 Jul 2009 11:56:23 -0500
changeset 40 eb3c938c7fef
permissions -rw-r--r--
set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     1
/*******************************************************************************
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     2
 * Copyright (c) 2004, 2006 IBM Corporation and others.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     3
 * All rights reserved. This program and the accompanying materials
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     4
 * are made available under the terms of the Eclipse Public License v1.0
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     5
 * which accompanies this distribution, and is available at
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     6
 * http://www.eclipse.org/legal/epl-v10.html
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     7
 * 
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     8
 * Contributors:
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
     9
 *     IBM Corporation - initial API and implementation
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    10
 *******************************************************************************/
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    11
package org.eclipse.core.internal.properties;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    12
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    13
import java.util.Map;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    14
import org.eclipse.core.internal.resources.IManager;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    15
import org.eclipse.core.resources.IResource;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    16
import org.eclipse.core.runtime.CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    17
import org.eclipse.core.runtime.QualifiedName;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    18
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    19
public interface IPropertyManager extends IManager {
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    20
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    21
	 * Closes the property store for a resource
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    22
	 * 
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    23
	 * @param target The resource to close the property store for
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    24
	 * @exception CoreException
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    25
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    26
	public void closePropertyStore(IResource target) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    27
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    28
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    29
	 * Copy all the properties of one resource to another. Both resources
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    30
	 * must have a property store available.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    31
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    32
	public void copy(IResource source, IResource destination, int depth) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    33
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    34
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    35
	 * Deletes all properties for the given resource and its children.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    36
	 * <p>
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    37
	 * The subtree under the given resource is traversed to the supplied depth.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    38
	 * </p>
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    39
	 * @param target
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    40
	 * @param depth
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    41
	 * @exception CoreException
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    42
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    43
	public void deleteProperties(IResource target, int depth) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    44
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    45
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    46
	 * The resource is being deleted so permanently erase its properties.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    47
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    48
	public void deleteResource(IResource target) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    49
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    50
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    51
	 * Returns the value of the identified property on the given resource as
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    52
	 * maintained by this store.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    53
	 * <p>
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    54
	 * The qualifier part of the property name must be the unique identifier
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    55
	 * of the declaring plug-in (e.g. <code>"com.example.plugin"</code>).
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    56
	 * </p>
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    57
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    58
	public String getProperty(IResource target, QualifiedName name) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    59
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    60
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    61
	 * Sets the value of the identified property on the given resource.
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    62
	 * <p>
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    63
	 * The qualifier part of the property name must be the unique identifier
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    64
	 * of the declaring plug-in (e.g. <code>"com.example.plugin"</code>).
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    65
	 * </p>
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    66
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    67
	public void setProperty(IResource target, QualifiedName name, String value) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    68
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    69
	/**
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    70
	 * Returns a map (<propertyKey: QualifiedName -> value: String>) containing 
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    71
	 * all properties defined for the given resource. In case no properties can 
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    72
	 * be found, returns an empty map. 
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    73
	 */
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    74
	public Map getProperties(IResource resource) throws CoreException;
eb3c938c7fef set up for custom build for logging. merged from carbide 2.1.x builds. this state is as it comes from platform. Next changelog will add the updates.
timkelly
parents:
diff changeset
    75
}