use of org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector in project webtools.sourceediting by eclipse.
the class DTDDocumentCharsetDetector method parseInput.
/**
*/
protected void parseInput() throws IOException {
IDocumentCharsetDetector documentEncodingDetector = new XMLDocumentCharsetDetector();
documentEncodingDetector.set(fReader);
fEncodingMemento = ((XMLResourceEncodingDetector) documentEncodingDetector).getEncodingMemento();
}
use of org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector in project webtools.sourceediting by eclipse.
the class StructuredTextEditor method updateEncodingMemento.
private void updateEncodingMemento() {
boolean failed = false;
IStructuredModel internalModel = getInternalModel();
if (internalModel != null) {
IStructuredDocument doc = internalModel.getStructuredDocument();
EncodingMemento memento = doc.getEncodingMemento();
IDocumentCharsetDetector detector = internalModel.getModelHandler().getEncodingDetector();
if (memento != null && detector != null) {
detector.set(doc);
try {
String newEncoding = detector.getEncoding();
if (newEncoding != null) {
memento.setDetectedCharsetName(newEncoding);
}
} catch (IOException e) {
failed = true;
}
}
/**
* Be sure to use the new value but only if no exception
* occurred. (we may find cases we need to do more error recovery
* there) should be near impossible to get IOException from
* processing the _document_
*/
if (!failed) {
doc.setEncodingMemento(memento);
}
}
}
use of org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector in project webtools.sourceediting by eclipse.
the class JSPDocumentLoader method getEmbeddedType.
/**
* Determine the MIME content type specified in a page directive. This
* should appear "as early as possible in the JSP page" according to the
* JSP v1.2 specification.
*/
private EmbeddedTypeHandler getEmbeddedType(IFile file) throws UnsupportedEncodingException, CoreException, IOException {
EmbeddedTypeHandler handler = null;
if (fFullPreparedReader == null) {
handler = getJSPDefaultEmbeddedType();
} else {
String mimeType = null;
IDocumentCharsetDetector jspProvider = getDocumentEncodingDetector();
Reader fullPreparedReader = getFullPreparedReader();
BufferedLimitedReader limitedReader = new BufferedLimitedReader(fullPreparedReader, CodedIO.MAX_BUF_SIZE);
jspProvider.set(limitedReader);
if (jspProvider instanceof IJSPHeadContentDetector) {
mimeType = ((IJSPHeadContentDetector) jspProvider).getContentType();
fullPreparedReader.reset();
}
EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
if (mimeType == null || mimeType.length() == 0) {
handler = getJSPDefaultEmbeddedType();
} else {
handler = reg.getTypeFor(mimeType);
}
}
return handler;
}
Aggregations