1 /* 2 * Copyright (c) 2019 Helmut Neemann. 3 * Use of this source code is governed by the GPL v3 license 4 * that can be found in the LICENSE file. 5 */ 6 package de.neemann.digital.draw.library; 7 8 import de.neemann.digital.core.element.ElementAttributes; 9 import de.neemann.digital.core.element.ElementTypeDescription; 10 import de.neemann.digital.draw.shapes.ShapeFactory; 11 12 /** 13 * Library interface used by the model creator 14 */ 15 public interface LibraryInterface { 16 17 /** 18 * @return the shape factory 19 */ getShapeFactory()20 ShapeFactory getShapeFactory(); 21 22 /** 23 * Creates a element description. 24 * 25 * @param elementName the name of the element 26 * @param attr the elements attributes 27 * @return the ElementTypeDescription 28 * @throws ElementNotFoundException ElementNotFoundException 29 */ getElementType(String elementName, ElementAttributes attr)30 ElementTypeDescription getElementType(String elementName, ElementAttributes attr) throws ElementNotFoundException; 31 } 32