Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java315
1 files changed, 0 insertions, 315 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java
deleted file mode 100644
index f14121ecb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle 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:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.io.Serializable;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-
-/**
- * The interface for all design view root objects.
- *
- */
-public abstract class DTUIViewRoot extends ComponentInfo
-{
- private StalenessAdvisor _stalenessAdvisor;
-
- private String _viewId;
- private VersionStamp _versionStamp;
-
- /**
- *
- */
- private static final long serialVersionUID = -6375907116774572269L;
-
- /**
- * @param id
- * @param parent
- * @param componentTypeInfo
- */
- protected DTUIViewRoot(final String id, final ComponentInfo parent,
- final ComponentTypeInfo componentTypeInfo)
- {
- super(id, parent, componentTypeInfo, true);
- }
-
- /**
- * @return the view id
- */
- public final String getViewId()
- {
- return _viewId;
- }
-
- /**
- * @param viewId
- *
- */
- final void setViewId(final String viewId)
- {
- _viewId = viewId;
- }
-
- /**
- * <p>
- * Clients may use the version stamp to determine if their instance of a
- * view root is out of date. For example, if a client has cached an instance
- * of a view root and wants to quickly checked if there is a newer version,
- * it may request a new copy and compare version stamps
- * </p>
- *
- * <p>
- * The version stamp must be calculated so that given two instance of a view
- * root for the same view id, v1 and v2:
- * </p>
- *
- * <p>
- * if v1.getVersionStamp().equals(v2.getVersionStamp()) then v1 and v2 are
- * the same even if v1 != v2. Note that this uniqueness must hold true
- * across multiple sessions of the IDE, since v1 or v2 may have been
- * restored from permanent storage. For this reason, running counts should
- * are discouraged unless they too can be reliably stored. Better is
- * something that relies on large random numbers combined with a time stamp
- * or workspace modification stamp
- * </p>
- *
- * @return the unique version stamp of this view root. This may be used as
- * quick check as to whether to view roots are not equal.
- */
- public final VersionStamp getVersionStamp()
- {
- return delegateVersionStamp();
- }
-
- VersionStamp delegateVersionStamp()
- {
- return _versionStamp;
- }
-
- final void setVersionStamp(VersionStamp versionStamp)
- {
- _versionStamp = versionStamp;
- }
-
- /**
- * @return true if the view root is out of sync with its view source.
- */
- public final boolean isStale()
- {
- return _stalenessAdvisor.isStale();
- }
-
- final void setStalenessAdvisor(final StalenessAdvisor stalenessAdvisor)
- {
- _stalenessAdvisor = stalenessAdvisor;
- }
-
- /**
- * Implementations must ensure that listeners are only added if they are
- * not already present.
- *
- * @param listener
- */
- public final void addListener(final StalenessListener listener)
- {
- _stalenessAdvisor.addListener(listener);
- }
-
- /**
- * @param listener
- */
- public final void removeListener(final StalenessListener listener)
- {
- _stalenessAdvisor.removeListener(listener);
- }
-
- /**
- * @return an adapter that can be used to request additional services from
- * the view root instance. This can be used to get services that are
- * not specific to all view roots such as mappings between view
- * definition artifacts and their view objects. Value may be null if
- * a view root chooses not to expose any services.
- */
- public abstract IAdaptable getServices();
-
- /**
- * An abstract versioning stamp that can be used to uniquely identify a
- * version of a DTUIViewRoot.
- *
- * @author cbateman
- *
- */
- public abstract static class VersionStamp implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = -7869336223178326584L;
-
- /**
- * Called by equals to determine absolute equality.
- *
- * @param other
- * @return true if and only if other represents the exact same version
- * as this. Hashcode must be reimplemented in a way to guarantee
- * that the equals() contract is respected.
- */
- protected abstract boolean isEqual(final VersionStamp other);
-
- /**
- * Must reimplement hashCode to match isEqual
- */
- public abstract int hashCode();
-
- @Override
- public final boolean equals(Object obj)
- {
- if (this == obj)
- {
- return true;
- }
-
- // NOTE: instanceof covers obj == null check.
- if (obj instanceof VersionStamp)
- {
- return isEqual((VersionStamp) obj);
- }
- return false;
- }
- }
-
- /**
- * An advisor which allows a view root to bridge to its source to see if its
- * out-of-sync, while keeping it decoupled from what specifically its source
- * is.
- *
- * @author cbateman
- *
- */
- public static abstract class StalenessAdvisor implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = 3449240686744169430L;
-
- /**
- * Implementations must ensure that listeners are only added if they are
- * not already present.
- * @param listener
- */
- public abstract void addListener(StalenessListener listener);
-
- /**
- * @param listener
- */
- public abstract void removeListener(StalenessListener listener);
-
- /**
- * NOTE: it is very dangerous to have an advisor that always returns
- * stale == true since many clients will rely on the staleness flag to
- * determine if they should try to update the model.
- *
- * @return true if we are out of sync with the source that this tree was
- * constructed from.
- */
- public abstract boolean isStale();
-
- /**
- * @return a flag similar to IResource.isAccessible that indicates if
- * the underlying view definition is no longer accessible either
- * due it being deleted or it's source file being unaccessible
- * due to project closure or other issues.
- */
- public abstract boolean isAccessible();
- }
-
- /**
- * A listener that is informed of model staleness events
- *
- */
- public static abstract class StalenessListener
- {
- /**
- * @param event
- */
- protected abstract void stalenessChanged(StalenessEvent event);
- }
-
- /**
- * An event that is fied when a model's staleness changes.
- *
- */
- public final static class StalenessEvent
- {
- private final ChangeType _type;
-
- /**
- * @param type
- */
- protected StalenessEvent(final ChangeType type)
- {
- _type = type;
- }
-
- /**
- * @return true if the event source is now stale.
- */
- public final ChangeType getChangeType()
- {
- return _type;
- }
-
- /**
- * The type of staleness change
- *
- */
- /**
- * @author cbateman
- *
- */
- public enum ChangeType
- {
- /**
- * Indicates that the view definition has been changed in a way that
- * will make existing DTUIViewRoot's stale.
- */
- VIEW_DEFN_CHANGED,
-
- /**
- * Inidicates that the view definition has been deleted.
- */
- VIEW_DEFN_DELETED,
-
- /**
- * Indicates that the view definition's enclosing project will be
- * closed, causing the definition to be made unavailable for an
- * indeterminate amount of time.
- */
- VIEW_DEFN_PROJECT_CLOSED,
-
- /**
- * Indicates that a view root has been invalid due to a project
- * clean. View root should generally be forcibly updated on
- * a project clean even if other staleness preconditions haven't
- * been met.
- */
- PROJECT_CLEANED
- }
-
- /**
- *
- */
- private static final long serialVersionUID = 6765346004772568514L;
- }
-}

Back to the top