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

org.eclipse.core.resources.IFileState Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 *  Copyright (c) 2000, 2015 IBM Corporation and others.
 *
 *  This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License 2.0
 *  which accompanies this distribution, and is available at
 *  https://www.eclipse.org/legal/epl-2.0/
 *
 *  SPDX-License-Identifier: EPL-2.0
 *
 *  Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.core.resources;

import java.io.InputStream;
import org.eclipse.core.runtime.*;

/**
 * A previous state of a file stored in the workspace's local history.
 * 

* Certain methods for updating, deleting, or moving a file cause the * "before" contents of the file to be copied to an internal area of the * workspace called the local history area thus providing * a limited history of earlier states of a file. *

*

* Moving or copying a file will cause a copy of its local history to appear * at the new location as well as at the original location. Subsequent * changes to either file will only affect the local history of the file * changed. Deleting a file and creating another one at the * same path does not affect the history. If the original file had * history, that same history will be available for the new one. *

*

* The local history does not track resource properties. * File states are volatile; the platform does not guarantee that a * certain state will always be in the local history. *

*

* File state objects implement the IAdaptable interface; * extensions are managed by the platform's adapter manager. *

* * @see IFile * @see IStorage * @see Platform#getAdapterManager() * @noimplement This interface is not intended to be implemented by clients. * @noextend This interface is not intended to be extended by clients. */ public interface IFileState extends IEncodedStorage, IAdaptable { /** * Returns whether this file state still exists in the local history. * * @return true if this state exists, and false * if it does not */ boolean exists(); /** * Returns an open input stream on the contents of this file state. * This refinement of the corresponding * IStorage method returns an open input stream * on the contents this file state represents. * The client is responsible for closing the stream when finished. * * @return an input stream containing the contents of the file * @exception CoreException if this method fails. Reasons include: *
    *
  • This state does not exist.
  • *
*/ @Override InputStream getContents() throws CoreException; /** * Returns the full path of this file state. * This refinement of the corresponding IStorage * method specifies that IFileStates always have a * path and that path is the full workspace path of the file represented by this state. * * @see IResource#getFullPath() * @see IStorage#getFullPath() */ @Override IPath getFullPath(); /** * Returns the modification time of the file. If you create a file at * 9:00 and modify it at 11:00, the file state added to the history * at 11:00 will have 9:00 as its modification time. *

* Note that is used only to give the user a general idea of how * old this file state is. * * @return the time of last modification, in milliseconds since * January 1, 1970, 00:00:00 GMT. */ long getModificationTime(); /** * Returns the name of this file state. * This refinement of the corresponding IStorage * method specifies that IFileStates always have a * name and that name is equivalent to the last segment of the full path * of the resource represented by this state. * * @see IResource#getName() * @see IStorage#getName() */ @Override String getName(); /** * Returns whether this file state is read-only. * This refinement of the corresponding * IStorage method restricts IFileStates to * always be read-only. * * @see IStorage */ @Override boolean isReadOnly(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy