blob: 715de4a791726341fd1e3fe7168d31e03366060d [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 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 implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.library.edit.util.model.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringBufferInputStream;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
/**
* Resource to store string
*
* @author Phong Nguyen Le
* @since 1.0
*/
public class StringResource extends XMIResourceImpl {
private ByteArrayOutputStream out;
private String str;
public StringResource(String str) {
this.str = str;
}
public void save(Map options) throws IOException {
out = new ByteArrayOutputStream();
try {
save(out, options);
} finally {
out.close();
}
}
public String getString() {
if (out == null)
return null;
if (encoding == null) {
return out.toString();
}
try {
return out.toString(encoding);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
public void load(Map options) throws IOException {
if (!isLoaded) {
InputStream inputStream = new StringBufferInputStream(str);
try {
load(inputStream, options);
} finally {
inputStream.close();
}
}
}
}