Regression

TEST-org.polarsys.capella.extension.rcptt.genchain_04

Failing for the past 1 build (Since Failed#487 )
Took 32 sec.

Error Message

Line 314: verify-true: Assertion of text failed: expected:<...uthor</em>}</li>  * </ul>  *  * @generated  */ public class BookImpl extends CirculatingItemImpl implements Book {   /**   * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getTitle()   * @generated   * @ordered   */  protected static final String TITLE_EDEFAULT = null;   /**   * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getPages()   * @generated   * @ordered   */  protected static final int PAGES_EDEFAULT = 100;   /**   * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getCategory()   * @generated   * @ordered   */  protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  protected BookImpl() {    super();   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  protected EClass eStaticClass() {   return ExtlibraryPackage.Literals.BOOK;  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public String getTitle() {    return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public void setTitle(String newTitle) {    eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public int getPages() {    return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public void setPages(int newPages) {    eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public BookCategory getCategory() {    return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,     true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public void setCategory(BookCategory newCategory) {    eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public void unsetCategory() {   eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public boolean isSetCategory() {   return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public Writer getAuthor() {    return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,     true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public Writer basicGetAuthor() {    return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,     true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {    msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);    return msgs;  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public void setAuthor(Writer newAuthor) {    eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {   switch (featureID) {   case ExtlibraryPackage.BOOK__AUTHOR:    Writer author = basicGetAuthor();    if (author != null)     msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,       msgs);    return basicSetAuthor((Writer) otherEnd, msgs);   }   return super.eInverseAdd(otherEnd, featureID, msgs);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {   switch (featureID) {   case ExtlibraryPackage.BOOK__AUTHOR:    return basicSetAuthor(null, msgs);   }   return super.eInverseRemove(otherEnd, featureID, msgs);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public Object eGet(int featureID, boolean resolve, boolean coreType) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    return getTitle();   case ExtlibraryPackage.BOOK__PAGES:    return getPages();   case ExtlibraryPackage.BOOK__CATEGORY:    return getCategory();   case ExtlibraryPackage.BOOK__AUTHOR:    if (resolve)     return getAuthor();    return basicGetAuthor();   }   return super.eGet(featureID, resolve, coreType);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public void eSet(int featureID, Object newValue) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    setTitle((String) newValue);    return;   case ExtlibraryPackage.BOOK__PAGES:    setPages((Integer) newValue);    return;   case ExtlibraryPackage.BOOK__CATEGORY:    setCategory((BookCategory) newValue);    return;   case ExtlibraryPackage.BOOK__AUTHOR:    setAuthor((Writer) newValue);    return;   }   super.eSet(featureID, newValue);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public void eUnset(int featureID) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    setTitle(TITLE_EDEFAULT);    return;   case ExtlibraryPackage.BOOK__PAGES:    setPages(PAGES_EDEFAULT);    return;   case ExtlibraryPackage.BOOK__CATEGORY:    unsetCategory();    return;   case ExtlibraryPackage.BOOK__AUTHOR:    setAuthor((Writer) null);    return;   }   super.eUnset(featureID);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public boolean eIsSet(int featureID) {   switch (featureID) {   case ExtlibraryPa...> but was:<...uthor</em>}</li>  *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li>  *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li>  *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li>  *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li>  * </ul>  *  * @generated  */ public class BookImpl extends CirculatingItemImpl implements Book {   /**   * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getTitle()   * @generated   * @ordered   */  protected static final String TITLE_EDEFAULT = null;   /**   * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getPages()   * @generated   * @ordered   */  protected static final int PAGES_EDEFAULT = 100;   /**   * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getCategory()   * @generated   * @ordered   */  protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;   /**   * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getTitle()   * @generated   * @ordered   */  protected static final String TITLE_EDEFAULT = null;   /**   * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getPages()   * @generated   * @ordered   */  protected static final int PAGES_EDEFAULT = 100;   /**   * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @see #getCategory()   * @generated   * @ordered   */  protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  protected BookImpl() {    super();   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  protected EClass eStaticClass() {   return ExtlibraryPackage.Literals.BOOK;  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public String getTitle() {    return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setTitle(String newTitle) {    eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public int getPages() {    return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setPages(int newPages) {    eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public BookCategory getCategory() {    return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,     true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setCategory(BookCategory newCategory) {    eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void unsetCategory() {   eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public boolean isSetCategory() {   return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public Writer getAuthor() {    return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,     true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public Writer basicGetAuthor() {    return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,     true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {    msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);    return msgs;  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setAuthor(Writer newAuthor) {    eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public String getTitle() {    return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setTitle(String newTitle) {    eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public int getPages() {    return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setPages(int newPages) {    eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public BookCategory getCategory() {    return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,     true, true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setCategory(BookCategory newCategory) {    eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void unsetCategory() {   eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public boolean isSetCategory() {   return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public Writer getAuthor() {    return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,     true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public Writer basicGetAuthor() {    return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,     true);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {    msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);    return msgs;  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */   @Override  public void setAuthor(Writer newAuthor) {    eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);   }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {   switch (featureID) {   case ExtlibraryPackage.BOOK__AUTHOR:    Writer author = basicGetAuthor();    if (author != null)     msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,       msgs);    return basicSetAuthor((Writer) otherEnd, msgs);   case ExtlibraryPackage.BOOK__AUTHOR:    Writer author = basicGetAuthor();    if (author != null)     msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,       msgs);    return basicSetAuthor((Writer) otherEnd, msgs);   }   return super.eInverseAdd(otherEnd, featureID, msgs);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {   switch (featureID) {   case ExtlibraryPackage.BOOK__AUTHOR:    return basicSetAuthor(null, msgs);   case ExtlibraryPackage.BOOK__AUTHOR:    return basicSetAuthor(null, msgs);   }   return super.eInverseRemove(otherEnd, featureID, msgs);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public Object eGet(int featureID, boolean resolve, boolean coreType) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    return getTitle();   case ExtlibraryPackage.BOOK__PAGES:    return getPages();   case ExtlibraryPackage.BOOK__CATEGORY:    return getCategory();   case ExtlibraryPackage.BOOK__AUTHOR:    if (resolve)     return getAuthor();    return basicGetAuthor();   case ExtlibraryPackage.BOOK__TITLE:    return getTitle();   case ExtlibraryPackage.BOOK__PAGES:    return getPages();   case ExtlibraryPackage.BOOK__CATEGORY:    return getCategory();   case ExtlibraryPackage.BOOK__AUTHOR:    if (resolve)     return getAuthor();    return basicGetAuthor();   }   return super.eGet(featureID, resolve, coreType);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public void eSet(int featureID, Object newValue) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    setTitle((String) newValue);    return;   case ExtlibraryPackage.BOOK__PAGES:    setPages((Integer) newValue);    return;   case ExtlibraryPackage.BOOK__CATEGORY:    setCategory((BookCategory) newValue);    return;   case ExtlibraryPackage.BOOK__AUTHOR:    setAuthor((Writer) newValue);    return;   case ExtlibraryPackage.BOOK__TITLE:    setTitle((String) newValue);    return;   case ExtlibraryPackage.BOOK__PAGES:    setPages((Integer) newValue);    return;   case ExtlibraryPackage.BOOK__CATEGORY:    setCategory((BookCategory) newValue);    return;   case ExtlibraryPackage.BOOK__AUTHOR:    setAuthor((Writer) newValue);    return;   }   super.eSet(featureID, newValue);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public void eUnset(int featureID) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    setTitle(TITLE_EDEFAULT);    return;   case ExtlibraryPackage.BOOK__PAGES:    setPages(PAGES_EDEFAULT);    return;   case ExtlibraryPackage.BOOK__CATEGORY:    unsetCategory();    return;   case ExtlibraryPackage.BOOK__AUTHOR:    setAuthor((Writer) null);    return;   case ExtlibraryPackage.BOOK__TITLE:    setTitle(TITLE_EDEFAULT);    return;   case ExtlibraryPackage.BOOK__PAGES:    setPages(PAGES_EDEFAULT);    return;   case ExtlibraryPackage.BOOK__CATEGORY:    unsetCategory();    return;   case ExtlibraryPackage.BOOK__AUTHOR:    setAuthor((Writer) null);    return;   }   super.eUnset(featureID);  }   /**   * <!-- begin-user-doc -->   * <!-- end-user-doc -->   * @generated   */  @Override  public boolean eIsSet(int featureID) {   switch (featureID) {   case ExtlibraryPackage.BOOK__TITLE:    return TITLE_EDEFAULT == null ? getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());   case ExtlibraryPackage.BOOK__PAGES:    return getPages() != PAGES_EDEFAULT;   case ExtlibraryPackage.BOOK__CATEGORY:    return isSetCategory();   case ExtlibraryPackage.BOOK__AUTHOR:    return basicGetAuthor() != null;   case ExtlibraryPa...>.  

Stacktrace

Line 314: verify-true: Assertion of text failed: expected:<...uthor</em>}</li>
 * </ul>
 *
 * @generated
 */
public class BookImpl extends CirculatingItemImpl implements Book {

	/**
	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTitle()
	 * @generated
	 * @ordered
	 */
	protected static final String TITLE_EDEFAULT = null;

	/**
	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPages()
	 * @generated
	 * @ordered
	 */
	protected static final int PAGES_EDEFAULT = 100;

	/**
	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCategory()
	 * @generated
	 * @ordered
	 */
	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BookImpl() {

		super();

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return ExtlibraryPackage.Literals.BOOK;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public String getTitle() {

		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setTitle(String newTitle) {

		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public int getPages() {

		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setPages(int newPages) {

		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public BookCategory getCategory() {

		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,
				true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setCategory(BookCategory newCategory) {

		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void unsetCategory() {
		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public boolean isSetCategory() {
		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer getAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer basicGetAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {

		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);

		return msgs;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setAuthor(Writer newAuthor) {

		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			Writer author = basicGetAuthor();
			if (author != null)
				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,
						msgs);
			return basicSetAuthor((Writer) otherEnd, msgs);
		}
		return super.eInverseAdd(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicSetAuthor(null, msgs);
		}
		return super.eInverseRemove(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			return getTitle();
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages();
		case ExtlibraryPackage.BOOK__CATEGORY:
			return getCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			if (resolve)
				return getAuthor();
			return basicGetAuthor();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle((String) newValue);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages((Integer) newValue);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			setCategory((BookCategory) newValue);
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) newValue);
			return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle(TITLE_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages(PAGES_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			unsetCategory();
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) null);
			return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
		case ExtlibraryPa...> but was:<...uthor</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li>
 * </ul>
 *
 * @generated
 */
public class BookImpl extends CirculatingItemImpl implements Book {

	/**
	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTitle()
	 * @generated
	 * @ordered
	 */
	protected static final String TITLE_EDEFAULT = null;

	/**
	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPages()
	 * @generated
	 * @ordered
	 */
	protected static final int PAGES_EDEFAULT = 100;

	/**
	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCategory()
	 * @generated
	 * @ordered
	 */
	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;

	/**
	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTitle()
	 * @generated
	 * @ordered
	 */
	protected static final String TITLE_EDEFAULT = null;

	/**
	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPages()
	 * @generated
	 * @ordered
	 */
	protected static final int PAGES_EDEFAULT = 100;

	/**
	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCategory()
	 * @generated
	 * @ordered
	 */
	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BookImpl() {

		super();

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return ExtlibraryPackage.Literals.BOOK;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public String getTitle() {

		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setTitle(String newTitle) {

		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public int getPages() {

		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setPages(int newPages) {

		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public BookCategory getCategory() {

		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,
				true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setCategory(BookCategory newCategory) {

		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void unsetCategory() {
		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public boolean isSetCategory() {
		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public Writer getAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer basicGetAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {

		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);

		return msgs;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setAuthor(Writer newAuthor) {

		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public String getTitle() {

		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setTitle(String newTitle) {

		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public int getPages() {

		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setPages(int newPages) {

		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public BookCategory getCategory() {

		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,
				true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setCategory(BookCategory newCategory) {

		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void unsetCategory() {
		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public boolean isSetCategory() {
		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public Writer getAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer basicGetAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {

		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);

		return msgs;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setAuthor(Writer newAuthor) {

		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			Writer author = basicGetAuthor();
			if (author != null)
				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,
						msgs);
			return basicSetAuthor((Writer) otherEnd, msgs);
		case ExtlibraryPackage.BOOK__AUTHOR:
			Writer author = basicGetAuthor();
			if (author != null)
				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,
						msgs);
			return basicSetAuthor((Writer) otherEnd, msgs);
		}
		return super.eInverseAdd(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicSetAuthor(null, msgs);
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicSetAuthor(null, msgs);
		}
		return super.eInverseRemove(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			return getTitle();
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages();
		case ExtlibraryPackage.BOOK__CATEGORY:
			return getCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			if (resolve)
				return getAuthor();
			return basicGetAuthor();
		case ExtlibraryPackage.BOOK__TITLE:
			return getTitle();
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages();
		case ExtlibraryPackage.BOOK__CATEGORY:
			return getCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			if (resolve)
				return getAuthor();
			return basicGetAuthor();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle((String) newValue);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages((Integer) newValue);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			setCategory((BookCategory) newValue);
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) newValue);
			return;
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle((String) newValue);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages((Integer) newValue);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			setCategory((BookCategory) newValue);
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) newValue);
			return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle(TITLE_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages(PAGES_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			unsetCategory();
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) null);
			return;
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle(TITLE_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages(PAGES_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			unsetCategory();
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) null);
			return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			return TITLE_EDEFAULT == null ? getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages() != PAGES_EDEFAULT;
		case ExtlibraryPackage.BOOK__CATEGORY:
			return isSetCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicGetAuthor() != null;
		case ExtlibraryPa...>.  swt.info
      Text(package org.eclipse.emf.examples.library.extlibrary.impl;import org.eclipse.emf.common.notify.Notification;/** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Book</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * </p> * <ul> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li> * </ul> * * @generated */public class BookImpl extends CirculatingItemImpl implements Book {	/**	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getTitle()	 * @generated	 * @ordered	 */	protected static final String TITLE_EDEFAULT = null;	/**	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getPages()	 * @generated	 * @ordered	 */	protected static final int PAGES_EDEFAULT = 100;	/**	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getCategory()	 * @generated	 * @ordered	 */	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;	/**	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getTitle()	 * @generated	 * @ordered	 */	protected static final String TITLE_EDEFAULT = null;	/**	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getPages()	 * @generated	 * @ordered	 */	protected static final int PAGES_EDEFAULT = 100;	/**	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getCategory()	 * @generated	 * @ordered	 */	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	protected BookImpl() {		super();	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	protected EClass eStaticClass() {		return ExtlibraryPackage.Literals.BOOK;	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public String getTitle() {		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setTitle(String newTitle) {		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public int getPages() {		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setPages(int newPages) {		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public BookCategory getCategory() {		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,				true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setCategory(BookCategory newCategory) {		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void unsetCategory() {		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public boolean isSetCategory() {		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public Writer getAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public Writer basicGetAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);		return msgs;	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setAuthor(Writer newAuthor) {		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public String getTitle() {		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setTitle(String newTitle) {		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public int getPages() {		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setPages(int newPages) {		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public BookCategory getCategory() {		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,				true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setCategory(BookCategory newCategory) {		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void unsetCategory() {		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public boolean isSetCategory() {		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public Writer getAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public Writer basicGetAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);		return msgs;	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setAuthor(Writer newAuthor) {		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {		switch (featureID) {		case ExtlibraryPackage.BOOK__AUTHOR:			Writer author = basicGetAuthor();			if (author != null)				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,						msgs);			return basicSetAuthor((Writer) otherEnd, msgs);		case ExtlibraryPackage.BOOK__AUTHOR:			Writer author = basicGetAuthor();			if (author != null)				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,						msgs);			return basicSetAuthor((Writer) otherEnd, msgs);		}		return super.eInverseAdd(otherEnd, featureID, msgs);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {		switch (featureID) {		case ExtlibraryPackage.BOOK__AUTHOR:			return basicSetAuthor(null, msgs);		case ExtlibraryPackage.BOOK__AUTHOR:			return basicSetAuthor(null, msgs);		}		return super.eInverseRemove(otherEnd, featureID, msgs);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public Object eGet(int featureID, boolean resolve, boolean coreType) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			return getTitle();		case ExtlibraryPackage.BOOK__PAGES:			return getPages();		case ExtlibraryPackage.BOOK__CATEGORY:			return getCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			if (resolve)				return getAuthor();			return basicGetAuthor();		case ExtlibraryPackage.BOOK__TITLE:			return getTitle();		case ExtlibraryPackage.BOOK__PAGES:			return getPages();		case ExtlibraryPackage.BOOK__CATEGORY:			return getCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			if (resolve)				return getAuthor();			return basicGetAuthor();		}		return super.eGet(featureID, resolve, coreType);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void eSet(int featureID, Object newValue) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			setTitle((String) newValue);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages((Integer) newValue);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			setCategory((BookCategory) newValue);			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) newValue);			return;		case ExtlibraryPackage.BOOK__TITLE:			setTitle((String) newValue);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages((Integer) newValue);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			setCategory((BookCategory) newValue);			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) newValue);			return;		}		super.eSet(featureID, newValue);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void eUnset(int featureID) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			setTitle(TITLE_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages(PAGES_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			unsetCategory();			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) null);			return;		case ExtlibraryPackage.BOOK__TITLE:			setTitle(TITLE_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages(PAGES_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			unsetCategory();			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) null);			return;		}		super.eUnset(featureID);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public boolean eIsSet(int featureID) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			return TITLE_EDEFAULT == null (0x3f) getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());		case ExtlibraryPackage.BOOK__PAGES:			return getPages() != PAGES_EDEFAULT;		case ExtlibraryPackage.BOOK__CATEGORY:			return isSetCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			return basicGetAuthor() != null;		case ExtlibraryPackage.BOOK__TITLE:			return TITLE_EDEFAULT == null (0x3f) getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());		case ExtlibraryPackage.BOOK__PAGES:			return getPages() != PAGES_EDEFAULT;		case ExtlibraryPackage.BOOK__CATEGORY:			return isSetCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			return basicGetAuthor() != null;		}		return super.eIsSet(featureID);	}} //BookImpl)
      eclipse.windows
            page:Workspace
                  editors
                        editor:MANIFEST.MF
                            id=org.eclipse.pde.ui.manifestEditor
                            dirty=false
                            pinned=false
                            editorInput.name=MANIFEST.MF

                              Editor(org.eclipse.emf.examples.library.extlibrary.cdo)
                                    Toolbar()
                        editor:BookImpl.java
                            id=org.eclipse.jdt.ui.CompilationUnitEditor
                            dirty=false
                            pinned=false
                            editorInput.name=BookImpl.java

                              Editor(BookImpl.java)
                                    Toolbar()
                                    Canvas()
                                          Text(package org.eclipse.emf.examples.library.extlibrary.impl;import org.eclipse.emf.common.notify.Notification;/** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Book</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * </p> * <ul> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li> *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li> * </ul> * * @generated */public class BookImpl extends CirculatingItemImpl implements Book {	/**	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getTitle()	 * @generated	 * @ordered	 */	protected static final String TITLE_EDEFAULT = null;	/**	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getPages()	 * @generated	 * @ordered	 */	protected static final int PAGES_EDEFAULT = 100;	/**	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getCategory()	 * @generated	 * @ordered	 */	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;	/**	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getTitle()	 * @generated	 * @ordered	 */	protected static final String TITLE_EDEFAULT = null;	/**	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getPages()	 * @generated	 * @ordered	 */	protected static final int PAGES_EDEFAULT = 100;	/**	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @see #getCategory()	 * @generated	 * @ordered	 */	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	protected BookImpl() {		super();	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	protected EClass eStaticClass() {		return ExtlibraryPackage.Literals.BOOK;	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public String getTitle() {		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setTitle(String newTitle) {		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public int getPages() {		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setPages(int newPages) {		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public BookCategory getCategory() {		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,				true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setCategory(BookCategory newCategory) {		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void unsetCategory() {		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public boolean isSetCategory() {		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public Writer getAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public Writer basicGetAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);		return msgs;	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setAuthor(Writer newAuthor) {		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public String getTitle() {		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setTitle(String newTitle) {		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public int getPages() {		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setPages(int newPages) {		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public BookCategory getCategory() {		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,				true, true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setCategory(BookCategory newCategory) {		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void unsetCategory() {		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public boolean isSetCategory() {		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public Writer getAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public Writer basicGetAuthor() {		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,				true);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);		return msgs;	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void setAuthor(Writer newAuthor) {		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {		switch (featureID) {		case ExtlibraryPackage.BOOK__AUTHOR:			Writer author = basicGetAuthor();			if (author != null)				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,						msgs);			return basicSetAuthor((Writer) otherEnd, msgs);		case ExtlibraryPackage.BOOK__AUTHOR:			Writer author = basicGetAuthor();			if (author != null)				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,						msgs);			return basicSetAuthor((Writer) otherEnd, msgs);		}		return super.eInverseAdd(otherEnd, featureID, msgs);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {		switch (featureID) {		case ExtlibraryPackage.BOOK__AUTHOR:			return basicSetAuthor(null, msgs);		case ExtlibraryPackage.BOOK__AUTHOR:			return basicSetAuthor(null, msgs);		}		return super.eInverseRemove(otherEnd, featureID, msgs);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public Object eGet(int featureID, boolean resolve, boolean coreType) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			return getTitle();		case ExtlibraryPackage.BOOK__PAGES:			return getPages();		case ExtlibraryPackage.BOOK__CATEGORY:			return getCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			if (resolve)				return getAuthor();			return basicGetAuthor();		case ExtlibraryPackage.BOOK__TITLE:			return getTitle();		case ExtlibraryPackage.BOOK__PAGES:			return getPages();		case ExtlibraryPackage.BOOK__CATEGORY:			return getCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			if (resolve)				return getAuthor();			return basicGetAuthor();		}		return super.eGet(featureID, resolve, coreType);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void eSet(int featureID, Object newValue) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			setTitle((String) newValue);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages((Integer) newValue);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			setCategory((BookCategory) newValue);			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) newValue);			return;		case ExtlibraryPackage.BOOK__TITLE:			setTitle((String) newValue);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages((Integer) newValue);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			setCategory((BookCategory) newValue);			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) newValue);			return;		}		super.eSet(featureID, newValue);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public void eUnset(int featureID) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			setTitle(TITLE_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages(PAGES_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			unsetCategory();			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) null);			return;		case ExtlibraryPackage.BOOK__TITLE:			setTitle(TITLE_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__PAGES:			setPages(PAGES_EDEFAULT);			return;		case ExtlibraryPackage.BOOK__CATEGORY:			unsetCategory();			return;		case ExtlibraryPackage.BOOK__AUTHOR:			setAuthor((Writer) null);			return;		}		super.eUnset(featureID);	}	/**	 * <!-- begin-user-doc -->	 * <!-- end-user-doc -->	 * @generated	 */	@Override	public boolean eIsSet(int featureID) {		switch (featureID) {		case ExtlibraryPackage.BOOK__TITLE:			return TITLE_EDEFAULT == null (0x3f) getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());		case ExtlibraryPackage.BOOK__PAGES:			return getPages() != PAGES_EDEFAULT;		case ExtlibraryPackage.BOOK__CATEGORY:			return isSetCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			return basicGetAuthor() != null;		case ExtlibraryPackage.BOOK__TITLE:			return TITLE_EDEFAULT == null (0x3f) getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());		case ExtlibraryPackage.BOOK__PAGES:			return getPages() != PAGES_EDEFAULT;		case ExtlibraryPackage.BOOK__CATEGORY:			return isSetCategory();		case ExtlibraryPackage.BOOK__AUTHOR:			return basicGetAuthor() != null;		}		return super.eIsSet(featureID);	}} //BookImpl)
                                          Canvas()
                                                Canvas(ProjectionRulerColumn)
                                                Canvas(AnnotationColumn)
                                                Canvas(LineNumberColumn)
                                          Canvas()
                                          Canvas()
                  views
                        view:Console
                            id=org.eclipse.ui.console.ConsoleView
                            dirty=false
                            fastView=false

                        view:Error Log
                            id=org.eclipse.pde.runtime.LogView
                            dirty=false
                            fastView=false

                        view:Project Explorer
                            id=org.eclipse.ui.navigator.ProjectExplorer
                            dirty=false
                            fastView=false

                              View(Project Explorer)
                                    Toolbar()
                                          Button(Collapse All)
                                          Button(Link with Editor)
                        view:Package Explorer
                            id=org.eclipse.jdt.ui.PackageExplorer
                            dirty=false
                            fastView=false

                              View(Package Explorer)
                                    Toolbar()
                                          Button(Collapse All)
                                          Button(Link with Editor)
                                    Tree()
                                          Item(org.eclipse.egf.chain.my)
                                          Item(org.eclipse.egf.chain.my.feature)
                                          Item(org.eclipse.emf.examples.library)
                                                Item(src)
                                                Item(JRE System Library [J2SE-1.5])
                                                Item(Plug-in Dependencies)
                                                Item(META-INF)
                                                Item(model)
                                                      Item(extlibrary.ecore)
                                                      Item(My.generationchain)
                                                Item(about.html)
                                                Item(build.properties)
                                                Item(plugin.properties)
                                          Item(org.eclipse.emf.examples.library.extlibrary)
                                          Item(org.eclipse.emf.examples.library.extlibrary.cdo)
                                                Item(src)
                                                      Item(org.eclipse.emf.examples.library.extlibrary.impl)
                                                            Item(AudioVisualItemImpl.java)
                                                            Item(BookImpl.java)
                                                            Item(BookOnTapeImpl.java)
                                                            Item(BorrowerImpl.java)
                                                            Item(CirculatingItemImpl.java)
                                                            Item(EmployeeImpl.java)
                                                            Item(ExtlibraryFactoryImpl.java)
                                                            Item(ItemImpl.java)
                                                            Item(LibraryImpl.java)
                                                            Item(PeriodicalImpl.java)
                                                            Item(PersonImpl.java)
                                                            Item(VideoCassetteImpl.java)
                                                            Item(WriterImpl.java)
                                                Item(JRE System Library [JavaSE-1.8])
                                                Item(Plug-in Dependencies)
                                                Item(META-INF)
                                                      Item(MANIFEST.MF)
                                                Item(model)
                                                Item(build.properties)
                                                Item(plugin.properties)
                                                Item(plugin.xml)
                                          Item(org.eclipse.emf.examples.library.extlibrary.edit)
                        view:Outline
                            id=org.eclipse.ui.views.ContentOutline
                            dirty=false
                            fastView=false

                              View(Outline)
                                    Toolbar()
                                          Button(Collapse All)
                                          Button(Sort)
                                          Button(Hide Fields)
                                          Button(Hide Static Fields and Methods)
                                          Button(Hide Non-Public Members)
                                          Button(Hide Local Types)
                                    Tree()
                                          Item(org.eclipse.emf.examples.library.extlibrary.impl)
                                          Item(BookImpl)
                                                Item(TITLE_EDEFAULT : String)
                                                Item(PAGES_EDEFAULT : int)
                                                Item(CATEGORY_EDEFAULT : BookCategory)
                                                Item(TITLE_EDEFAULT : String)
                                                Item(PAGES_EDEFAULT : int)
                                                Item(CATEGORY_EDEFAULT : BookCategory)
                                                Item(BookImpl())
                                                Item(eStaticClass() : EClass)
                                                Item(getTitle() : String)
                                                Item(setTitle(String) : void)
                                                Item(getPages() : int)
                                                Item(setPages(int) : void)
                                                Item(getCategory() : BookCategory)
                                                Item(setCategory(BookCategory) : void)
                                                Item(unsetCategory() : void)
                                                Item(isSetCategory() : boolean)
                                                Item(getAuthor() : Writer)
                                                Item(basicGetAuthor() : Writer)
                                                Item(basicSetAuthor(Writer, NotificationChain) : NotificationChain)
                                                Item(setAuthor(Writer) : void)
                                                Item(getTitle() : String)
                                                Item(setTitle(String) : void)
                                                Item(getPages() : int)
                                                Item(setPages(int) : void)
                                                Item(getCategory() : BookCategory)
                                                Item(setCategory(BookCategory) : void)
                                                Item(unsetCategory() : void)
                                                Item(isSetCategory() : boolean)
                                                Item(getAuthor() : Writer)
                                                Item(basicGetAuthor() : Writer)
                                                Item(basicSetAuthor(Writer, NotificationChain) : NotificationChain)
                                                Item(setAuthor(Writer) : void)
                                                Item(eInverseAdd(InternalEObject, int, NotificationChain) : NotificationChain)
                                                Item(eInverseRemove(InternalEObject, int, NotificationChain) : NotificationChain)
                                                Item(eGet(int, boolean, boolean) : Object)
                                                Item(eSet(int, Object) : void)
                                                Item(eUnset(int) : void)
                                                Item(eIsSet(int) : boolean)
                        view:Properties
                            id=org.eclipse.ui.views.PropertySheet
                            dirty=false
                            fastView=false

                              View(Properties)
                                    Toolbar()
                                          Button(Show Categories)
                                          Button(Show Advanced Properties)
                                          Button(Restore Default Value)
                                          Button(Pins this property view to the current selection)
                                    Tree()
                                          Item(Info)
                                                Item(derived)
                                                Item(editable)
                                                Item(last modified)
                                                Item(linked)
                                                Item(location)
                                                Item(name)
                                                Item(path)
                                                Item(size)
swt.player
gef.editparts
java.runtime
    cpus=24
    freeMemory=985272504
    totalMemory=1531445248
    maxMemory=1908932608
Jobs information:
  Job:ECL session execute: verify-true
      class=org.eclipse.rcptt.ecl.internal.core.Session$1
      state=running
  Job:ECL session execute: sequence
      class=org.eclipse.rcptt.ecl.internal.core.Session$1
      state=running
  Job:ECL session execute: ast-exec
      class=org.eclipse.rcptt.ecl.internal.core.Session$1
      state=running
  Job:ECL session execute: pipeline
      class=org.eclipse.rcptt.ecl.internal.core.Session$1
      state=running
  Job:Git Repository Change Scanner
      class=org.eclipse.egit.ui.Activator$RepositoryChangeScanner
      state=sleeping
        rule=org.eclipse.egit.ui.internal.RepositoryCacheRule@17196eb7
  Job:Compacting resource model
      class=org.eclipse.core.internal.utils.StringPoolJob
      state=sleeping
  Job:Workbench Auto-Save Job
      class=org.eclipse.ui.internal.Workbench$40
      state=sleeping
  Job:Periodic workspace save.
      class=org.eclipse.core.internal.resources.DelayedSnapshotJob
      state=sleeping
        rule=R/
Thread information:
    Thread:Q7 Indexer
      class=java.lang.Thread
        3: java.lang.Object.wait(Native Method)
        2: java.lang.Object.wait(Object.java:502)
        1: org.eclipse.rcptt.internal.core.jobs.JobManager.run(JobManager.java:406)
        0: java.lang.Thread.run(Thread.java:748)
    Thread:org.eclipse.jface.text.reconciler.MonoReconciler
      class=org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
        1: java.lang.Object.wait(Native Method)
        0: org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:183)
    Thread:Worker-3: ECL session execute: sequence
      class=org.eclipse.core.internal.jobs.Worker
        5: java.lang.Object.wait(Native Method)
        4: org.eclipse.rcptt.ecl.internal.core.Process.waitFor(Process.java:51)
        3: org.eclipse.rcptt.ecl.internal.commands.SequenceService.service(SequenceService.java:45)
        2: org.eclipse.rcptt.ecl.internal.core.AbstractSession.internalDoExecute(AbstractSession.java:83)
        1: org.eclipse.rcptt.ecl.internal.core.Session$1.run(Session.java:48)
        0: org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    Thread:JGit-WorkQueue
      class=java.lang.Thread
        8: sun.misc.Unsafe.park(Native Method)
        7: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        6: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        5: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        4: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        3: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        2: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        1: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        0: java.lang.Thread.run(Thread.java:748)
    Thread:Worker-JM
      class=org.eclipse.core.internal.jobs.InternalWorker
        1: java.lang.Object.wait(Native Method)
        0: org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:62)
    Thread:org.eclipse.jface.text.reconciler.Reconciler
      class=org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
        1: java.lang.Object.wait(Native Method)
        0: org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:183)
    Thread:Active Thread: Equinox Container: 1587db29-e6fc-4da2-956c-c31ddcad7e82
      class=java.lang.Thread
        8: sun.misc.Unsafe.park(Native Method)
        7: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        6: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        5: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        4: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        3: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        2: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        1: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        0: java.lang.Thread.run(Thread.java:748)
    Thread:SCR Component Actor
      class=java.lang.Thread
        3: java.lang.Object.wait(Native Method)
        2: java.lang.Object.wait(Object.java:502)
        1: org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:83)
        0: java.lang.Thread.run(Thread.java:748)
    Thread:Thread-6
      class=org.eclipse.gmf.runtime.common.core.util.RequestCollapser$PostedThread
        2: java.lang.Object.wait(Native Method)
        1: java.lang.Object.wait(Object.java:502)
        0: org.eclipse.gmf.runtime.common.core.util.RequestCollapser$PostedThread.run(RequestCollapser.java:53)
    Thread:Q7 Runner Monitor
      class=org.eclipse.rcptt.runtime.ui.Q7Monitor
        1: java.lang.Thread.sleep(Native Method)
        0: org.eclipse.rcptt.runtime.ui.Q7Monitor.run(Q7Monitor.java:28)
    Thread:com.google.inject.internal.util.$Finalizer
      class=com.google.inject.internal.util.$Finalizer
        3: java.lang.Object.wait(Native Method)
        2: java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
        1: java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
        0: com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114)
    Thread:org.eclipse.jdt.internal.ui.text.JavaReconciler
      class=org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
        1: java.lang.Object.wait(Native Method)
        0: org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:183)
    Thread:org.eclipse.jface.text.reconciler.MonoReconciler
      class=org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
        1: java.lang.Object.wait(Native Method)
        0: org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:183)
    Thread:Gogo shell
      class=java.lang.Thread
        7: sun.misc.Unsafe.park(Native Method)
        6: java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        5: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        4: java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
        3: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        2: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        1: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        0: java.lang.Thread.run(Thread.java:748)
    Thread:main
      class=java.lang.Thread
        38: java.lang.Thread.dumpThreads(Native Method)
        37: java.lang.Thread.getAllStackTraces(Thread.java:1610)
        36: org.eclipse.rcptt.tesla.internal.core.info.GeneralInformationCollector.collectThreadInformation(GeneralInformationCollector.java:41)
        35: org.eclipse.rcptt.tesla.internal.core.info.GeneralInformationCollector.collectInformation(GeneralInformationCollector.java:29)
        34: org.eclipse.rcptt.tesla.internal.core.AbstractTeslaClient.getAdvancedInformation(AbstractTeslaClient.java:359)
        33: org.eclipse.rcptt.tesla.internal.core.AbstractTeslaClient.handleFailedResponse(AbstractTeslaClient.java:349)
        32: org.eclipse.rcptt.tesla.internal.core.AbstractTeslaClient.execute(AbstractTeslaClient.java:290)
        31: org.eclipse.rcptt.tesla.internal.core.AbstractTeslaClient.doOneCommand(AbstractTeslaClient.java:247)
        30: org.eclipse.rcptt.tesla.internal.core.AbstractTeslaClient.processNext(AbstractTeslaClient.java:129)
        29: org.eclipse.rcptt.tesla.ecl.impl.TeslaBridge$2.doProcessing(TeslaBridge.java:102)
        28: org.eclipse.rcptt.tesla.swt.events.TeslaEventManager.doProcessing(TeslaEventManager.java:109)
        27: org.eclipse.rcptt.tesla.swt.aspects.DisplayAspect.ajc$around$org_eclipse_rcptt_tesla_swt_aspects_DisplayAspect$1$e269b158(DisplayAspect.aj:87)
        26: org.eclipse.swt.widgets.Display.sleep(Display.java:5645)
        25: org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:360)
        24: org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.eventLoopIdle(IDEWorkbenchAdvisor.java:949)
        23: org.eclipse.ui.internal.Workbench$1.eventLoopIdle(Workbench.java:483)
        22: org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1178)
        21: org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        20: org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
        19: org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        18: org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:635)
        17: org.eclipse.ui.internal.Workbench$$Lambda$43/1145404493.run(Unknown Source)
        16: org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        15: org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559)
        14: org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
        13: org.polarsys.capella.studio.product.Application.start(Application.java:126)
        12: org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        11: org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
        10: org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
        9: org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
        8: org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
        7: sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        6: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        5: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        4: java.lang.reflect.Method.invoke(Method.java:498)
        3: org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660)
        2: org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
        1: org.eclipse.equinox.launcher.Main.run(Main.java:1468)
        0: org.eclipse.equinox.launcher.Main.main(Main.java:1441)
    Thread:Worker-17: ECL session execute: ast-exec
      class=org.eclipse.core.internal.jobs.Worker
        7: java.lang.Object.wait(Native Method)
        6: org.eclipse.rcptt.ecl.internal.core.Process.waitFor(Process.java:51)
        5: org.eclipse.rcptt.ecl.internal.commands.ExecService.exec(ExecService.java:83)
        4: org.eclipse.rcptt.ecl.internal.commands.ExecService.service(ExecService.java:54)
        3: org.eclipse.rcptt.ecl.ast.commands.AstExecService.service(AstExecService.java:29)
        2: org.eclipse.rcptt.ecl.internal.core.AbstractSession.internalDoExecute(AbstractSession.java:83)
        1: org.eclipse.rcptt.ecl.internal.core.Session$1.run(Session.java:48)
        0: org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    Thread:Worker-11: ECL session execute: verify-true
      class=org.eclipse.core.internal.jobs.Worker
        11: sun.misc.Unsafe.park(Native Method)
        10: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        9: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        8: java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
        7: org.eclipse.rcptt.tesla.internal.core.queue.TeslaQStream.readResponse(TeslaQStream.java:60)
        6: org.eclipse.rcptt.tesla.internal.core.queue.TeslaQPlayer.executeCommand(TeslaQPlayer.java:34)
        5: org.eclipse.rcptt.tesla.core.protocol.UIPlayer.safeExecuteCommand(UIPlayer.java:91)
        4: org.eclipse.rcptt.tesla.core.protocol.BasicUIElement.doAssert(BasicUIElement.java:63)
        3: org.eclipse.rcptt.tesla.ecl.internal.impl.commands.VerifyTrueService.service(VerifyTrueService.java:61)
        2: org.eclipse.rcptt.ecl.internal.core.AbstractSession.internalDoExecute(AbstractSession.java:83)
        1: org.eclipse.rcptt.ecl.internal.core.Session$1.run(Session.java:48)
        0: org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    Thread:Worker-0: ECL session execute: pipeline
      class=org.eclipse.core.internal.jobs.Worker
        5: java.lang.Object.wait(Native Method)
        4: org.eclipse.rcptt.ecl.internal.core.Process.waitFor(Process.java:51)
        3: org.eclipse.rcptt.ecl.internal.commands.PipelineService.service(PipelineService.java:39)
        2: org.eclipse.rcptt.ecl.internal.core.AbstractSession.internalDoExecute(AbstractSession.java:83)
        1: org.eclipse.rcptt.ecl.internal.core.Session$1.run(Session.java:48)
        0: org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    Thread:Signal Dispatcher
      class=java.lang.Thread
    Thread:Java indexing
      class=java.lang.Thread
        3: java.lang.Object.wait(Native Method)
        2: java.lang.Object.wait(Object.java:502)
        1: org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:378)
        0: java.lang.Thread.run(Thread.java:748)

    data=[B@c87f13e
    message=Assertion of text failed: expected:<...uthor</em>}</li>
 * </ul>
 *
 * @generated
 */
public class BookImpl extends CirculatingItemImpl implements Book {

	/**
	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTitle()
	 * @generated
	 * @ordered
	 */
	protected static final String TITLE_EDEFAULT = null;

	/**
	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPages()
	 * @generated
	 * @ordered
	 */
	protected static final int PAGES_EDEFAULT = 100;

	/**
	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCategory()
	 * @generated
	 * @ordered
	 */
	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BookImpl() {

		super();

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return ExtlibraryPackage.Literals.BOOK;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public String getTitle() {

		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setTitle(String newTitle) {

		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public int getPages() {

		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setPages(int newPages) {

		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public BookCategory getCategory() {

		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,
				true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setCategory(BookCategory newCategory) {

		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void unsetCategory() {
		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public boolean isSetCategory() {
		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer getAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer basicGetAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {

		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);

		return msgs;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public void setAuthor(Writer newAuthor) {

		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			Writer author = basicGetAuthor();
			if (author != null)
				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,
						msgs);
			return basicSetAuthor((Writer) otherEnd, msgs);
		}
		return super.eInverseAdd(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicSetAuthor(null, msgs);
		}
		return super.eInverseRemove(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			return getTitle();
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages();
		case ExtlibraryPackage.BOOK__CATEGORY:
			return getCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			if (resolve)
				return getAuthor();
			return basicGetAuthor();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle((String) newValue);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages((Integer) newValue);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			setCategory((BookCategory) newValue);
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) newValue);
			return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle(TITLE_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages(PAGES_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			unsetCategory();
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) null);
			return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
		case ExtlibraryPa...> but was:<...uthor</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li>
 *   <li>{@link org.eclipse.emf.examples.library.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li>
 * </ul>
 *
 * @generated
 */
public class BookImpl extends CirculatingItemImpl implements Book {

	/**
	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTitle()
	 * @generated
	 * @ordered
	 */
	protected static final String TITLE_EDEFAULT = null;

	/**
	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPages()
	 * @generated
	 * @ordered
	 */
	protected static final int PAGES_EDEFAULT = 100;

	/**
	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCategory()
	 * @generated
	 * @ordered
	 */
	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;

	/**
	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTitle()
	 * @generated
	 * @ordered
	 */
	protected static final String TITLE_EDEFAULT = null;

	/**
	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPages()
	 * @generated
	 * @ordered
	 */
	protected static final int PAGES_EDEFAULT = 100;

	/**
	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCategory()
	 * @generated
	 * @ordered
	 */
	protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BookImpl() {

		super();

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return ExtlibraryPackage.Literals.BOOK;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public String getTitle() {

		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setTitle(String newTitle) {

		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public int getPages() {

		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setPages(int newPages) {

		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public BookCategory getCategory() {

		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,
				true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setCategory(BookCategory newCategory) {

		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void unsetCategory() {
		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public boolean isSetCategory() {
		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public Writer getAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer basicGetAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {

		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);

		return msgs;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setAuthor(Writer newAuthor) {

		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public String getTitle() {

		return (String) eDynamicGet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setTitle(String newTitle) {

		eDynamicSet(ExtlibraryPackage.BOOK__TITLE, ExtlibraryPackage.Literals.BOOK__TITLE, newTitle);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public int getPages() {

		return (Integer) eDynamicGet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setPages(int newPages) {

		eDynamicSet(ExtlibraryPackage.BOOK__PAGES, ExtlibraryPackage.Literals.BOOK__PAGES, newPages);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public BookCategory getCategory() {

		return (BookCategory) eDynamicGet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY,
				true, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setCategory(BookCategory newCategory) {

		eDynamicSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY, newCategory);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void unsetCategory() {
		eDynamicUnset(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public boolean isSetCategory() {
		return eDynamicIsSet(ExtlibraryPackage.BOOK__CATEGORY, ExtlibraryPackage.Literals.BOOK__CATEGORY);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public Writer getAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, true,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public Writer basicGetAuthor() {

		return (Writer) eDynamicGet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, false,
				true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {

		msgs = eDynamicInverseAdd((InternalEObject) newAuthor, ExtlibraryPackage.BOOK__AUTHOR, msgs);

		return msgs;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */

	@Override
	public void setAuthor(Writer newAuthor) {

		eDynamicSet(ExtlibraryPackage.BOOK__AUTHOR, ExtlibraryPackage.Literals.BOOK__AUTHOR, newAuthor);

	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			Writer author = basicGetAuthor();
			if (author != null)
				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,
						msgs);
			return basicSetAuthor((Writer) otherEnd, msgs);
		case ExtlibraryPackage.BOOK__AUTHOR:
			Writer author = basicGetAuthor();
			if (author != null)
				msgs = ((InternalEObject) author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class,
						msgs);
			return basicSetAuthor((Writer) otherEnd, msgs);
		}
		return super.eInverseAdd(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicSetAuthor(null, msgs);
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicSetAuthor(null, msgs);
		}
		return super.eInverseRemove(otherEnd, featureID, msgs);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			return getTitle();
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages();
		case ExtlibraryPackage.BOOK__CATEGORY:
			return getCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			if (resolve)
				return getAuthor();
			return basicGetAuthor();
		case ExtlibraryPackage.BOOK__TITLE:
			return getTitle();
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages();
		case ExtlibraryPackage.BOOK__CATEGORY:
			return getCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			if (resolve)
				return getAuthor();
			return basicGetAuthor();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle((String) newValue);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages((Integer) newValue);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			setCategory((BookCategory) newValue);
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) newValue);
			return;
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle((String) newValue);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages((Integer) newValue);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			setCategory((BookCategory) newValue);
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) newValue);
			return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle(TITLE_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages(PAGES_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			unsetCategory();
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) null);
			return;
		case ExtlibraryPackage.BOOK__TITLE:
			setTitle(TITLE_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__PAGES:
			setPages(PAGES_EDEFAULT);
			return;
		case ExtlibraryPackage.BOOK__CATEGORY:
			unsetCategory();
			return;
		case ExtlibraryPackage.BOOK__AUTHOR:
			setAuthor((Writer) null);
			return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
		case ExtlibraryPackage.BOOK__TITLE:
			return TITLE_EDEFAULT == null (0x3f) getTitle() != null : !TITLE_EDEFAULT.equals(getTitle());
		case ExtlibraryPackage.BOOK__PAGES:
			return getPages() != PAGES_EDEFAULT;
		case ExtlibraryPackage.BOOK__CATEGORY:
			return isSetCategory();
		case ExtlibraryPackage.BOOK__AUTHOR:
			return basicGetAuthor() != null;
		case ExtlibraryPa...>.(aut-ws-0 - org.eclipse.emf.examples.library.extlibrary.cdo/src/org/eclipse/emf/examples/library/extlibrary/impl/BookImpl.java - Capella Studio Product)