1 /******************************************************************************* 2 * Copyright (c) 2004, 2005 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.core.resources; 12 13 import org.eclipse.core.runtime.CoreException; 14 15 /** 16 * A storage that knows how its contents are encoded. 17 * 18 * <p>The <code>IEncodedStorage</code> interface extends <code>IStorage</code> 19 * in order to provide access to the charset to be used when decoding its 20 * contents. 21 * </p><p> 22 * Clients may implement this interface. 23 * </p> 24 * 25 * @since 3.0 26 */ 27 public interface IEncodedStorage extends IStorage { 28 /** 29 * Returns the name of a charset encoding to be used when decoding this 30 * storage's contents into characters. Returns <code>null</code> if a proper 31 * encoding cannot be determined. 32 * <p> 33 * Note that this method does not check whether the result is a supported 34 * charset name. Callers should be prepared to handle 35 * <code>UnsupportedEncodingException</code> where this charset is used. 36 * </p> 37 * 38 * @return the name of a charset, or <code>null</code> 39 * @exception CoreException if an error happens while determining 40 * the charset. See any refinements for more information. 41 * @see IStorage#getContents() 42 */ 43 public String getCharset() throws CoreException; 44 } 45