001/* 002 * To change this template, choose Tools | Templates 003 * and open the template in the editor. 004 */ 005package org.anarres.qemu.exec; 006 007import java.io.File; 008import java.util.List; 009import javax.annotation.Nonnull; 010 011/** 012 * 013 * @author shevek 014 */ 015public class QEmuKernelOption extends AbstractQEmuOption { 016 017 private final File kernel; 018 private File initrd; 019 private String append; 020 021 public QEmuKernelOption(@Nonnull File kernel) { 022 this.kernel = kernel; 023 } 024 025 public QEmuKernelOption(@Nonnull String kernel) { 026 this(new File(kernel)); 027 } 028 029 @Nonnull 030 public QEmuKernelOption withInitrd(@Nonnull File initrd) { 031 this.initrd = initrd; 032 return this; 033 } 034 035 @Nonnull 036 public QEmuKernelOption withInitrd(@Nonnull String initrd) { 037 return withInitrd(new File(initrd)); 038 } 039 040 @Nonnull 041 public QEmuKernelOption withAppend(@Nonnull String append) { 042 this.append = append; 043 return this; 044 } 045 046 @Override 047 public void appendTo(List<? super String> line) { 048 add(line, "-kernel", kernel.getAbsolutePath()); 049 if (initrd != null) 050 add(line, "-initrd", initrd.getAbsolutePath()); 051 if (append != null) 052 add(line, "-append", append); 053 } 054}