/******************************************************************************* * Copyright (c) 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.bpel.model.resource; import java.io.OutputStream; import java.util.Map; import org.eclipse.bpel.model.Process; import org.eclipse.emf.ecore.resource.Resource; import org.xml.sax.ErrorHandler; /** * @author IBM Original Contribution. * @author Michal Chmielewski (michal.chmielewski@oracle.com) * @date Jul 19, 2007 * */ public interface BPELResource extends Resource { /** * Converts the BPEL model to an XML DOM model and then write the DOM model to the output stream. * @param out * @param args * @throws Exception * * @see org.eclipse.emf.ecore.resource.impl.ResourceImpl#doSave(OutputStream, Map) */ void doSave(OutputStream out, Map<?, ?> args) throws Exception; /** * Set an error handler for SAX Parser * @param errorHandler * @see Bugzilla 324165 */ void setErrorHandler(ErrorHandler errorHandler); /** * Return the current SAX Parser error handler * @return error handler * @see Bugzilla 324165 */ ErrorHandler getErrorHandler(); /** * Returns the BPEL process contained by this resource or <code>null</code> if there is none. * @return the process */ Process getProcess(); /** * If unset the default value is {@link org.eclipse.bpel.model.util.BPELConstants#NAMESPACE}. * * @return the namespace URI for the process/resource. */ String getNamespaceURI(); /** * Sets the <code>namespaceURI</code> for the process/resource. * Expected to be one of the BPEL namespaces defined by {@link org.eclipse.bpel.model.util.BPELConstants}. * @param namespaceURI the namespace URI */ void setNamespaceURI(String namespaceURI); /** * Returns <code>true</code> if the resource will be saved using a prefix for the BPEL namespace. * Returns <code>false</code> if the resource will be saved with BPEL as the default namespace. * * @return true/false accordingly */ boolean getOptionUseNSPrefix(); /** * Sets the useNSPrefix option. * @param useNSPrefix * @see #getOptionUseNSPrefix() */ void setOptionUseNSPrefix(boolean useNSPrefix); interface MapListener { public void objectAdded(Object key, Object value); } }