Package org.eclipse.graphiti.ui.internal.services

# Interface IEmfService

All Superinterfaces:
  `IEmfService`

All Known Implementing Classes:
  `EmfService`

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

## Method Summary

Modifier and Type
Method
Description
`Diagram`
`getDiagramFromFile(org.eclipse.core.resources.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
invalid reference

    #adaptObject(Object, Class)

, unwrapping an `IStructuredSelection`.
`org.eclipse.core.resources.IFile`
`getFile(org.eclipse.emf.common.util.URI uri)`
Returns the Eclipse file for the given `URI`.
`org.eclipse.core.resources.IFile`
`getFile(org.eclipse.emf.ecore.EObject object)`
Returns the Eclipse file for the given `EObject`'s `Resource` .
`org.eclipse.emf.common.util.URI`
`getFileURI(org.eclipse.core.resources.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 Details

### 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
invalid reference

    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
  invalid reference

      #adaptObject(Object, Class)

  ,
- unwrapping an `IStructuredSelection`.

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

### getFile

org.eclipse.core.resources.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

org.eclipse.core.resources.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:
  - invalid reference

        #toString(EObject)

### getDiagramFromFile

Diagram getDiagramFromFile(org.eclipse.core.resources.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(org.eclipse.core.resources.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