| /******************************************************************************* |
| * Copyright (c) 2014, 2016 1C-Soft LLC 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: |
| * Vladimir Piskarev (1C) - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.handly.model; |
| |
| /** |
| * Status and generic flag constants for element deltas. |
| */ |
| public interface IElementDeltaConstants |
| { |
| /* |
| * Don't add new members to this interface. |
| * Instead, introduce IElementDeltaConstants2, etc. when/if necessary. |
| */ |
| |
| /** |
| * Status constant indicating that the element has been added. Note that |
| * an added element delta has no children, as they are all implicitly added. |
| */ |
| int ADDED = 1; |
| |
| /** |
| * Status constant indicating that the element has been removed. Note that |
| * a removed element delta has no children, as they are all implicitly removed. |
| */ |
| int REMOVED = 2; |
| |
| /** |
| * Status constant indicating that the element has been changed, |
| * as described by flag constants. |
| */ |
| int CHANGED = 3; |
| |
| /** |
| * Flag constant indicating that the content of the element has changed. |
| */ |
| long F_CONTENT = 1L << 0; |
| |
| /** |
| * Flag constant indicating that there are changes to the children of the |
| * element. |
| */ |
| long F_CHILDREN = 1L << 1; |
| |
| /** |
| * Flag constant indicating that the element was moved from another location. |
| */ |
| long F_MOVED_FROM = 1L << 2; |
| |
| /** |
| * Flag constant indicating that the element was moved to another location. |
| */ |
| long F_MOVED_TO = 1L << 3; |
| |
| /** |
| * Flag constant indicating that the element has changed position relatively |
| * to its siblings. |
| */ |
| long F_REORDER = 1L << 4; |
| |
| /** |
| * Flag constant indicating that this is a fine-grained delta, that is, |
| * an analysis down to the source constructs level was done to determine |
| * if there were structural changes to source constructs. |
| * <p> |
| * Clients can use this flag to find out if a source file that has a |
| * {@link #F_CONTENT} change should assume that there are no finer grained |
| * changes (<code>F_FINE_GRAINED</code> is set) or if finer grained changes |
| * were not considered (<code>F_FINE_GRAINED</code> is not set). |
| * </p> |
| */ |
| long F_FINE_GRAINED = 1L << 5; |
| |
| /** |
| * Flag constant indicating that the underlying <code>IProject</code> |
| * has been opened or closed. This flag is only valid if the element |
| * represents a project. |
| */ |
| long F_OPEN = 1L << 6; |
| |
| /** |
| * Flag constant indicating that the underlying <code>IProject</code>'s |
| * description has changed. This flag is only valid if the element |
| * represents a project. |
| */ |
| long F_DESCRIPTION = 1L << 7; |
| |
| /** |
| * Flag constant indicating that a source file has become a working copy, |
| * or that a working copy has reverted to a source file. This flag is |
| * only valid if the element represents a source file. |
| */ |
| long F_WORKING_COPY = 1L << 8; |
| |
| /** |
| * Flag constant indicating that the underlying <code>IFile</code> of |
| * a working copy has changed. This flag is only valid if the element |
| * represents a source file. |
| */ |
| long F_UNDERLYING_RESOURCE = 1L << 9; |
| |
| /** |
| * Flag constant indicating that markers on the element's corresponding |
| * resource have changed. This flag is only valid if the element has |
| * a corresponding resource. |
| */ |
| long F_MARKERS = 1L << 10; |
| |
| /** |
| * Flag constant indicating that sync status of the element's corresponding |
| * resource has changed. This flag is only valid if the element has |
| * a corresponding resource. |
| */ |
| long F_SYNC = 1L << 11; |
| } |