/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.workspace; /** * A factory that creates {@link ModelBuffer}s for {@link Openable openables}. * <p> * This interface may be implemented by clients. * </p> * * @since 8.0 */ public interface ModelBufferFactory { /** * Creates a buffer for the given owner. * The new buffer will be initialized with the contents of the owner * if and only if it was not already initialized by the factory (a buffer is uninitialized if * its content is <code>null</code>). * * @param owner the owner of the buffer * @throws ModelWorkspaceException if there was an error creating the ModelBuffer */ ModelBuffer createBuffer(Openable owner) throws ModelWorkspaceException; }