com.ibm.as400.vaccess.IFSDeleteAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: IFSDeleteAction.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 1997-2000 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.as400.vaccess;
import com.ibm.as400.access.IFSFile;
import com.ibm.as400.access.Trace;
import java.io.IOException;
/**
The IFSDeleteAction class represents the action of deleting a
file or directory.
**/
class IFSDeleteAction
extends ConfirmedAction
{
private static final String copyright = "Copyright (C) 1997-2000 International Business Machines Corporation and others.";
// MRI.
private static final String confirmTitleText_ = ResourceLoader.getText ("DLG_CONFIRM_DELETION_TITLE");
private static final String confirmMessageText_ = ResourceLoader.getText ("DLG_CONFIRM_DELETION");
private static final String text_ = ResourceLoader.getText ("ACTION_DELETE");
// Private data.
private IFSFile file_ = null;
/**
Constructs an IFSDeleteAction object.
@param object The object representing the file or directory.
@param file The file or directory.
**/
public IFSDeleteAction (VObject object,
IFSFile file)
{
super (object, confirmTitleText_, confirmMessageText_);
file_ = file;
}
/**
Returns the text for the action.
@return The text.
**/
public String getText ()
{
return text_;
}
/**
Performs the action after the user has confirmed it.
@param context The action context.
**/
public void perform2 (VActionContext context)
{
if (Trace.isTraceOn())
Trace.log (Trace.INFORMATION, "Deleting file or directory ["
+ file_.getPath () + "].");
// It is VERY important to fire the "stop working" event
// before firing the "object deleted" event. Otherwise,
// the working cursor adapters will never detect the
// "stop working" event because all of the working listener
// wiring gets disconnected by the processing of the
// "object deleted" event.
fireStartWorking ();
boolean objectDeleted = false;
try {
// If for some reason the file has already been deleted,
// then get rid of it on the pane, but still fire an
// error event.
if (file_.exists () == false) {
fireError (new IOException (ResourceLoader.getText ("EXC_FILE_NOT_FOUND")));
objectDeleted = true;
}
// Try to delete the file.
else if (file_.delete () == true)
objectDeleted = true;
else {
// Unfortunately, we do not get any information as
// to why the file or directory could not be deleted,
// so we fire a generic error event.
fireError (new IOException (ResourceLoader.getText ("EXC_FILE_NOT_DELETED")));
}
}
catch (IOException e) {
fireError (e);
}
fireStopWorking ();
if (objectDeleted)
fireObjectDeleted ();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy