Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse PDE
Release 3.5

org.eclipse.pde.core
Interface IModel

All Superinterfaces:
IAdaptable, IBaseModel
All Known Subinterfaces:
IBuildModel, IExtensionsModel, IFragmentModel, IPluginModel, IPluginModelBase, ISharedExtensionsModel, ISharedPluginModel

public interface IModel
extends IBaseModel

A generic model. Classes that implement this interface are expected to be able to:

  • Load from an input stream
  • Reload (reset, load, fire 'world change')
  • Dispose (clear all the data and reset)
  • Be associated with a resource (optional)
If a model is not created from a workspace resource file, its underlying resource will be null .

Since:
2.0
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.

Method Summary
  String getResourceString ( String key)
          Returns a string found in the resource bundle associated with this model for the provided key.
 long getTimeStamp ()
          Returns the last modification time stamp.
  IResource getUnderlyingResource ()
          Returns a workspace resource that this model is created from.
 boolean isInSync ()
          Tests if this model is in sync with the storage object it was loaded from.
 boolean isLoaded ()
          Tests if this model is loaded and can be used.
 boolean isReconcilingModel ()
          Returns whether this model needs to react to changes in source and reconcile them.
 void load ()
          Loads the model directly from an underlying resource.
 void load ( InputStream source, boolean outOfSync)
          Loads the model from the provided input stream.
 void reload ( InputStream source, boolean outOfSync)
          Reload is a version of 'load' operation that has the following steps: Reset the model Load the model Fire "world changed" event Reload operation is used when a model that is already in use is invalidated by a change in the underlying buffer or resource.
 
Methods inherited from interface org.eclipse.pde.core. IBaseModel
dispose, isDisposed, isEditable, isValid
 
Methods inherited from interface org.eclipse.core.runtime. IAdaptable
getAdapter
 

Method Detail

getResourceString


String getResourceString(
String key)
Returns a string found in the resource bundle associated with this model for the provided key.

Parameters:
key - the name to use for bundle lookup
Returns:
the string for the key in the resource bundle, or the key itself if not found

getUnderlyingResource


IResource getUnderlyingResource()
Returns a workspace resource that this model is created from. Load/reload operations are not directly connected with the resource (although they can be). In some cases, models will load from a buffer (an editor document) rather than a resource. However, the buffer will eventually be synced up with this resource.

With the caveat of stepped loading, all other properties of the underlying resource could be used directly (path, project etc.).

Returns:
a workspace resource (file) that this model is associated with, or null if the model is not created from a resource.

isLoaded

boolean isLoaded()
Tests if this model is loaded and can be used.

Returns:
true if the model has been loaded

isInSync

boolean isInSync()
Tests if this model is in sync with the storage object it was loaded from. Models loaded from resources are in sync if underlying resources are in sync. Models loaded from files on the file systems are in sync if the time stamp matches the model time stamp.

Returns:
true if the model is in sync with the file system.

getTimeStamp

long getTimeStamp()
Returns the last modification time stamp. The model itself does not have the time stamp. It is 'borrowed' from the underlying physical object.

Returns:
the time stamp of the underlying physical object.

load

void load()
          throws 
CoreException
Loads the model directly from an underlying resource. This method does nothing if this model has no underlying resource or if there is a buffer stage between the model and the resource.

Throws:
CoreException - if errors are encountered during the loading.

load

void load(
InputStream source,
          boolean outOfSync)
          throws 
CoreException
Loads the model from the provided input stream. This method throws a CoreException if errors are encountered during the loading. Upon succesful load, 'isLoaded()' should return true .

Parameters:
source - an input stream that should be parsed to load the model
outOfSync - if true, time stamp will not be updated to maintain out-of-sync state of the model.
Throws:
CoreException - if errors are encountered during the loading.

reload

void reload(
InputStream source,
            boolean outOfSync)
            throws 
CoreException
Reload is a version of 'load' operation that has the following steps:
  • Reset the model
  • Load the model
  • Fire "world changed" event
Reload operation is used when a model that is already in use is invalidated by a change in the underlying buffer or resource. Since we don't know the extent of the change, the only safe thing to do is to reparse the buffer to sync up. The event that is subsequently fired should be used by listeners to discard all caches and/or fully refresh views that shows any portion of the model.

Parameters:
source - an input stream that should be parsed to load the model.
outOfSync - if true, the timestamp will not be updated to maintain out-of-sync state of the model.
Throws:
CoreException - if errors are encountered during the reloading.

isReconcilingModel

boolean isReconcilingModel()
Returns whether this model needs to react to changes in source and reconcile them. Only model instances used in editors need to perform this task.

Returns:
true if this is a reconciling model, false otherwise.

Eclipse PDE
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire