blob: f8ba3cc0282ae814fe05d8d8929649f3b5b4a8df [file] [log] [blame]
import 'platform:/plugin/org.eclipse.emf.examples.library/model/extlibrary.ecore'
package extlibrary
context Library
-- get all books with a title in a library and its branches (recursively)
def: getBooks(title : String) : Set(Book) =
books->select(b | b.title = title)->asSet()->union(
branches.getBooks(title)->asSet())
context Book
-- the library containing a book
def: library : Library = Library.allInstances()->any(books->includes(self))
-- book titles are unique within their library branch (and its sub-branches)
inv unique_title: not library.oclIsUndefined() implies
library.getBooks(title) = Set{self}
endpackage