blob: 8726cab020d8554067f022e0a911492dc70900f0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 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
*
* Provisional API: This class/interface is part of an interim API that is still under development and expected to
* change significantly before reaching stability. It is being made available at this early stage to solicit feedback
* from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
* (repeatedly) as the API evolves.
*
*
*******************************************************************************/
package org.eclipse.wst.jsdt.web.core.javascript;
import org.eclipse.jface.text.IDocumentListener;
import org.eclipse.jface.text.Position;
import org.eclipse.wst.jsdt.core.IBuffer;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
/**
*
* Provisional API: This class/interface is part of an interim API that is still under development and expected to
* change significantly before reaching stability. It is being made available at this early stage to solicit feedback
* from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
* (repeatedly) as the API evolves.
*/
public interface IJsTranslator extends IDocumentListener{
/**
* @return string of javascript from the document
*/
public String getJsText();
/**
* sets the javascript unit buffer
* @param buffer
*/
public void setBuffer(IBuffer buffer);
/**
*
* @return a list of html locations within the docuemnt.
*/
public Position[] getHtmlLocations();
/**
* @return the region of a missing </script> tag
*/
public int getMissingEndTagRegionStart();
/**
* @return position array of <script src=".."> within the doc.
*/
public Position[] getImportHtmlRanges();
/**
* @return raw/unresolved <script imports>
*/
public String[] getRawImports();
/**
* begin translating the document.
*/
public void translate();
/**
* translates an inline (event="..") js container region and adds it to the document text. must be called in order
* @param container
*/
public void translateInlineJSNode(IStructuredDocumentRegion container);
/**
* translates a script block. must be called in the order it appears within the document.
* @param container
*/
public void translateJSNode(IStructuredDocumentRegion container);
/**
* translates a <script src=".."> element, parsing out an import.
* @param region
*/
public void translateScriptImportNode(IStructuredDocumentRegion region);
/**
* release any resources the translation is holding onto.
*
*/
public void release();
}