/*
* Copyright (C) 2012 The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.cyanogenmod.filemanager.commands.java;
import com.cyanogenmod.filemanager.R;
import com.cyanogenmod.filemanager.commands.AsyncResultListener;
import com.cyanogenmod.filemanager.commands.ChangeCurrentDirExecutable;
import com.cyanogenmod.filemanager.commands.ChangeOwnerExecutable;
import com.cyanogenmod.filemanager.commands.ChangePermissionsExecutable;
import com.cyanogenmod.filemanager.commands.CompressExecutable;
import com.cyanogenmod.filemanager.commands.CopyExecutable;
import com.cyanogenmod.filemanager.commands.CreateDirExecutable;
import com.cyanogenmod.filemanager.commands.CreateFileExecutable;
import com.cyanogenmod.filemanager.commands.CurrentDirExecutable;
import com.cyanogenmod.filemanager.commands.DeleteDirExecutable;
import com.cyanogenmod.filemanager.commands.DeleteFileExecutable;
import com.cyanogenmod.filemanager.commands.DiskUsageExecutable;
import com.cyanogenmod.filemanager.commands.EchoExecutable;
import com.cyanogenmod.filemanager.commands.ExecExecutable;
import com.cyanogenmod.filemanager.commands.ExecutableCreator;
import com.cyanogenmod.filemanager.commands.FindExecutable;
import com.cyanogenmod.filemanager.commands.FolderUsageExecutable;
import com.cyanogenmod.filemanager.commands.GroupsExecutable;
import com.cyanogenmod.filemanager.commands.IdentityExecutable;
import com.cyanogenmod.filemanager.commands.LinkExecutable;
import com.cyanogenmod.filemanager.commands.ListExecutable;
import com.cyanogenmod.filemanager.commands.ListExecutable.LIST_MODE;
import com.cyanogenmod.filemanager.commands.MountExecutable;
import com.cyanogenmod.filemanager.commands.MountPointInfoExecutable;
import com.cyanogenmod.filemanager.commands.MoveExecutable;
import com.cyanogenmod.filemanager.commands.ParentDirExecutable;
import com.cyanogenmod.filemanager.commands.ProcessIdExecutable;
import com.cyanogenmod.filemanager.commands.QuickFolderSearchExecutable;
import com.cyanogenmod.filemanager.commands.ReadExecutable;
import com.cyanogenmod.filemanager.commands.ResolveLinkExecutable;
import com.cyanogenmod.filemanager.commands.SIGNAL;
import com.cyanogenmod.filemanager.commands.SendSignalExecutable;
import com.cyanogenmod.filemanager.commands.UncompressExecutable;
import com.cyanogenmod.filemanager.commands.WriteExecutable;
import com.cyanogenmod.filemanager.console.CommandNotFoundException;
import com.cyanogenmod.filemanager.console.java.JavaConsole;
import com.cyanogenmod.filemanager.model.Group;
import com.cyanogenmod.filemanager.model.MountPoint;
import com.cyanogenmod.filemanager.model.Permissions;
import com.cyanogenmod.filemanager.model.Query;
import com.cyanogenmod.filemanager.model.User;
import com.cyanogenmod.filemanager.preferences.CompressionMode;
/**
* A class for create shell {@link "Executable"} objects.
*/
public class JavaExecutableCreator implements ExecutableCreator {
private final JavaConsole mConsole;
/**
* Constructor of <code>JavaExecutableCreator</code>.
*
* @param console A shell console that use for create objects
*/
JavaExecutableCreator(JavaConsole console) {
super();
this.mConsole = console;
}
/**
* {@inheritDoc}
*/
@Override
public ChangeCurrentDirExecutable createChangeCurrentDirExecutable(String dir)
throws CommandNotFoundException {
return new ChangeCurrentDirCommand(this.mConsole, dir);
}
/**
* {@inheritDoc}
*/
@Override
public ChangeOwnerExecutable createChangeOwnerExecutable(
String fso, User newUser, Group newGroup) throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public ChangePermissionsExecutable createChangePermissionsExecutable(
String fso, Permissions newPermissions) throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public CopyExecutable createCopyExecutable(String src, String dst)
throws CommandNotFoundException {
return new CopyCommand(src, dst);
}
/**
* {@inheritDoc}
*/
@Override
public CreateDirExecutable createCreateDirectoryExecutable(String dir)
throws CommandNotFoundException {
return new CreateDirCommand(dir);
}
/**
* {@inheritDoc}
*/
@Override
public CreateFileExecutable createCreateFileExecutable(String file)
throws CommandNotFoundException {
return new CreateFileCommand(file);
}
/**
* {@inheritDoc}
*/
@Override
public CurrentDirExecutable createCurrentDirExecutable() throws CommandNotFoundException {
return new CurrentDirCommand(this.mConsole);
}
/**
* {@inheritDoc}
*/
@Override
public DeleteDirExecutable createDeleteDirExecutable(String dir)
throws CommandNotFoundException {
return new DeleteDirCommand(dir);
}
/**
* {@inheritDoc}
*/
@Override
public DeleteFileExecutable createDeleteFileExecutable(String file)
throws CommandNotFoundException {
return new DeleteFileCommand(file);
}
/**
* {@inheritDoc}
*/
@Override
public DiskUsageExecutable createDiskUsageExecutable() throws CommandNotFoundException {
String mountsFile = this.mConsole.getCtx().getString(R.string.mounts_file);
return new DiskUsageCommand(mountsFile);
}
/**
* {@inheritDoc}
*/
@Override
public DiskUsageExecutable createDiskUsageExecutable(String dir)
throws CommandNotFoundException {
String mountsFile = this.mConsole.getCtx().getString(R.string.mounts_file);
return new DiskUsageCommand(mountsFile, dir);
}
/**
* {@inheritDoc}
*/
@Override
public EchoExecutable createEchoExecutable(String msg) throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public ExecExecutable createExecExecutable(
String cmd, AsyncResultListener asyncResultListener) throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public FindExecutable createFindExecutable(
String directory, Query query, AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
return new FindCommand(directory, query, asyncResultListener);
}
/**
* {@inheritDoc}
*/
@Override
public FolderUsageExecutable createFolderUsageExecutable(
String directory, AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
return new FolderUsageCommand(directory, asyncResultListener);
}
/**
* {@inheritDoc}
*/
@Override
public GroupsExecutable createGroupsExecutable() throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public IdentityExecutable createIdentityExecutable() throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public LinkExecutable createLinkExecutable(String src, String link)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public ListExecutable createListExecutable(String src)
throws CommandNotFoundException {
return new ListCommand(src, LIST_MODE.DIRECTORY);
}
/**
* {@inheritDoc}
*/
@Override
public ListExecutable createFileInfoExecutable(String src, boolean followSymlinks)
throws CommandNotFoundException {
return new ListCommand(src, LIST_MODE.FILEINFO);
}
/**
* {@inheritDoc}
*/
@Override
public MountExecutable createMountExecutable(MountPoint mp, boolean rw)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public MountPointInfoExecutable createMountPointInfoExecutable()
throws CommandNotFoundException {
String mountsFile = this.mConsole.getCtx().getString(R.string.mounts_file);
return new MountPointInfoCommand(mountsFile);
}
/**
* {@inheritDoc}
*/
@Override
public MoveExecutable createMoveExecutable(String src, String dst)
throws CommandNotFoundException {
return new MoveCommand(src, dst);
}
/**
* {@inheritDoc}
*/
@Override
public ParentDirExecutable createParentDirExecutable(String fso)
throws CommandNotFoundException {
return new ParentDirCommand(fso);
}
/**
* {@inheritDoc}
*/
@Override
public ProcessIdExecutable createShellProcessIdExecutable() throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public ProcessIdExecutable createProcessIdExecutable(int pid, String processName)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public QuickFolderSearchExecutable createQuickFolderSearchExecutable(String regexp)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public ReadExecutable createReadExecutable(
String file, AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
return new ReadCommand(file, asyncResultListener);
}
/**
* {@inheritDoc}
*/
@Override
public ResolveLinkExecutable createResolveLinkExecutable(String fso)
throws CommandNotFoundException {
return new ResolveLinkCommand(fso);
}
/**
* {@inheritDoc}
*/
@Override
public SendSignalExecutable createSendSignalExecutable(int process, SIGNAL signal)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public SendSignalExecutable createKillExecutable(int process)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public WriteExecutable createWriteExecutable(
String file, AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
return new WriteCommand(file, asyncResultListener);
}
/**
* {@inheritDoc}
*/
@Override
public CompressExecutable createCompressExecutable(
CompressionMode mode, String dst, String[] src,
AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public CompressExecutable createCompressExecutable(
CompressionMode mode, String src,
AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
@Override
public UncompressExecutable createUncompressExecutable(
String src, String dst,
AsyncResultListener asyncResultListener)
throws CommandNotFoundException {
throw new CommandNotFoundException("Not implemented"); //$NON-NLS-1$
}
}