IStorageEditorInput
を実装するオブジェクトをエディタ入力として使用できます。これは、IStorage
オブジェクトを使用して、編集するメモリ内のデータを保持します。
シンプルIStorageEditorInput
実装は次のようになります。
class StorageEditorInput extends PlatformObject implements IStorageEditorInput {
private IStorage fStorage;
public StorageEditorInput(IStorage storage) {
fStorage = storage;
}
@Override
public IStorage getStorage() {
return fStorage;
}
@Override
public ImageDescriptor getImageDescriptor() {
return null;
}
@Override
public String getName() {
return getStorage().getName();
}
@Override
public IPersistableElement getPersistable() {
return null;
}
@Override
public String getToolTipText() {
return getStorage().getFullPath().toOSString();
}
@Override
public boolean equals(Object object) {
return object instanceof StorageEditorInput &&
getStorage().equals(((StorageEditorInput)object).getStorage());
}
@Override
public int hashCode() {
return getStorage().hashCode();
}
@Override
public boolean exists() {
return true;
}
}
(org.eclipse.debug.internal.ui.views.console.ProcessConsole
から適応上)
ます。また、実際には、おそらくIEncodedStorage
を実装する必要があり、IStorage
の独自の実装を提供する必要があろうIStorage
に文字エンコーディングを含めるように拡張します。
編集者によってはIStorageEditorInput
が理解できない場合があります。