org.eclipse.graphiti.ui.internal.services

## Interface IEmfService

All Superinterfaces:
  IEmfService

    public interface IEmfService
    extends IEmfService

Provides EMF Services, in particular with respect to `EObject`, `URI`, `ResourceSet`, and `TransactionalEditingDomain`.

### Method Summary

All Methods Instance Methods Abstract Methods
`Diagram` `getDiagramFromFile(IFile file, org.eclipse.emf.ecore.resource.ResourceSet resourceSet)` If given file is a valid emf resource and it contains a diagram as first root element, this methods return the diagram.
`org.eclipse.emf.ecore.EObject` `getEObject(Object object)` Tries to convert the given object to a `EObject` using `#adaptObject(Object, Class)`, unwrapping an `IStructuredSelection`.
`IFile` `getFile(org.eclipse.emf.ecore.EObject object)` Returns the Eclipse file for the given `EObject`'s `Resource` .
`IFile` `getFile(org.eclipse.emf.common.util.URI uri)` Returns the Eclipse file for the given `URI`.
`org.eclipse.emf.common.util.URI` `getFileURI(IFile file)` Retrieves the workspace-local string location of the given `IFile`, constructs a potentially normalized platform resource `URI` from it and returns it.
`String` `getObjectName(Object obj)` Returns the human readable name of a given object or the EMF id if no name can be found.
`org.eclipse.emf.common.util.URI` `mapDiagramFileUriToDiagramUri(org.eclipse.emf.common.util.URI diagramFileUri)` Maps the fileURI to an URI which points directly to the Diagram Object.
`StringBuilder` `toString(org.eclipse.emf.ecore.EObject o, StringBuilder result)` Creates an extended string presentation of the given `EObject`, including its type and attributes

### Methods inherited from interface org.eclipse.graphiti.ui.services.IEmfService

`createResourceSetAndEditingDomain`

### Method Detail

#### getObjectName

    String getObjectName(Object obj)

Returns the human readable name of a given object or the EMF id if no name can be found. The method tries to access a modeled attribute "name" or "id" in this order. If no attribute with this name is modeled, the first attribute whose value is a String or `TranslatableTextFragment` is returned, otherwise `null` .

Parameters:
  `obj` - the object to get a name for
Returns:
  the value of attribute "name" or the EMF id if no attribute "name" exists

#### getEObject

    org.eclipse.emf.ecore.EObject getEObject(Object object)

Tries to convert the given object to a `EObject`

- using `#adaptObject(Object, Class)`,
- unwrapping an `IStructuredSelection`.

Parameters:
  `object` - the object to convert
Returns:
  the target object or `null`
See Also:
  `getEObject(Object)`

#### getFile

    IFile getFile(org.eclipse.emf.ecore.EObject object)

Returns the Eclipse file for the given `EObject`'s `Resource` . Note that the file is `null` for objects in

- archives,
- closed projects,
- not yet persisted resources or not yet persisted EObjects in already persisted resources. In this respect this methods behaves asymmetric to the handle-only resource APIs like `IProject.getFile(String)`.

Parameters:
  `object` - the model object to get the file for
Returns:
  the partition file or `null` under the mentioned circumstances
See Also:
  `getFile(URI)`

#### getFile

    IFile getFile(org.eclipse.emf.common.util.URI uri)

Returns the Eclipse file for the given `URI`. Note that the file is `null` for objects in

- archives,
- closed projects,
- not yet persisted resources or not yet persisted EObjects in already persisted resources. In this respect this methods behaves asymmetric to the handle-only resource APIs like `IProject.getFile(String)`.

Parameters:
  `uri` - the URI to get the file for
Returns:
  the file or `null` under the mentioned circumstances
Since:
  0.9
See Also:
  `getFile(EObject)`

#### toString

    StringBuilder toString(org.eclipse.emf.ecore.EObject o,
                           StringBuilder result)

Creates an extended string presentation of the given `EObject`, including its type and attributes

Parameters:
  `o` - the object to create a string presentation for
  `result` - the string buffer to store the result into
Returns:
  the same string buffer as `result` per convenience
See Also:
  `#toString(EObject)`

#### getDiagramFromFile

    Diagram getDiagramFromFile(IFile file,
                               org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

If given file is a valid emf resource and it contains a diagram as first root element, this methods return the diagram. Otherwise this method returns null.

Parameters:
  `file` - a valid emf (diagram) resource
Returns:
  diagram or null

#### getFileURI

    org.eclipse.emf.common.util.URI getFileURI(IFile file)

Retrieves the workspace-local string location of the given `IFile`, constructs a potentially normalized platform resource `URI` from it and returns it.

Parameters:
  `file` - The file to construct the URI for
  `resourceSet` - The `ResourceSet` to use for the normalization (can be `null`, in this case no normalization is done).
Returns:
  The platform resource URI for the given file.

#### mapDiagramFileUriToDiagramUri

    org.eclipse.emf.common.util.URI mapDiagramFileUriToDiagramUri(org.eclipse.emf.common.util.URI diagramFileUri)

Maps the fileURI to an URI which points directly to the Diagram Object. This methods assumes the Diagram object is the first root object in the given file.

Parameters:
  `diagramFileUri` - URI of the diagramFile
Returns:
  URI of the diagram