# Interface IBuildModel

All Superinterfaces:
  `IAdaptable, IBaseModel, IModel, IModelChangeProvider`

public interface IBuildModel extends IModel, IModelChangeProvider
This model is created from the `build.properties` file that defines what source folders in the plug-in are to be used to build require plug-in Jars.

If this model is editable, isEditable() will return true and the model instance will implement IEditable interface. The model is capable of providing change notification for the registered listeners.

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

## Method Summary

Modifier and Type
Method
Description
`IBuild`
`getBuild()`
Returns the top-level model object of this model.
`IBuildModelFactory`
`getFactory()`
Returns the factory that should be used to create new instance of model objects.
`String`
`getInstallLocation()`
Returns the location of the file used to create the model.

### Methods inherited from interface IAdaptable

`getAdapter`

### Methods inherited from interface IBaseModel

`dispose, isDisposed, isEditable, isValid`

### Methods inherited from interface IModel

`getResourceString, getTimeStamp, getUnderlyingResource, isInSync, isLoaded, isReconcilingModel, load, load, reload`

### Methods inherited from interface IModelChangeProvider

`addModelChangedListener, fireModelChanged, fireModelObjectChanged, removeModelChangedListener`

## Method Details

### getBuild

IBuild getBuild()
Returns the top-level model object of this model.

Returns:
  a build.properties top-level model object

### getFactory

IBuildModelFactory getFactory()
Returns the factory that should be used to create new instance of model objects.

Returns:
  the build.properties model factory

### getInstallLocation

String getInstallLocation()
Returns the location of the file used to create the model.

Returns:
  the location of the build.properties file or `null` if the file is in a workspace.