/*******************************************************************************
* Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.model.filesystems.impl;
import java.io.File;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.jboss.tools.common.model.XModelObjectConstants;
import org.jboss.tools.common.model.plugin.ModelPlugin;
import org.jboss.tools.common.util.FileUtil;
public class FileAnyLongImpl extends FileAnyImpl {
private static final long serialVersionUID = 1L;
public String getAsText() {
File file = _getFile();
return (!file.isFile()) ? "" : FileUtil.readFile(file); //$NON-NLS-1$
}
public void edit(String body) {
File file = _getFile();
if(file.isFile() || !file.exists()) {
FileUtil.writeFile(file, body);
if(getParent() instanceof FolderImpl) {
FolderImpl folder = (FolderImpl)getParent();
IFile ef = folder.getChildFile(file.getName());
if(ef != null) {
try {
ef.refreshLocal(IResource.DEPTH_ZERO, null);
} catch (CoreException e) {
ModelPlugin.getPluginLog().logError(e);
}
}
}
}
}
private File _getFile() {
String f = get(XModelObjectConstants.ATTR_NAME__FILE);
return (f == null) ? null : new File(f);
}
}