001package org.unix4j.unix.xargs; 002 003import org.unix4j.unix.Xargs; 004 005/** 006 * Factory for the {@link Xargs xargs} command returning 007 * a new command instance from every signature method. 008 */ 009public final class XargsFactory implements Xargs.Interface<XargsCommand> { 010 011 /** 012 * The singleton instance of this factory. 013 */ 014 public static final XargsFactory INSTANCE = new XargsFactory(); 015 016 /** 017 * Private, only used to create singleton instance. 018 */ 019 private XargsFactory() { 020 super(); 021 } 022 023 @Override 024 public XargsCommand xargs() { 025 final XargsArguments xargsArgs = new XargsArguments(); 026 return new XargsCommand(xargsArgs); 027 } 028 029 @Override 030 public XargsCommand xargs(String... args) { 031 final XargsArguments xargsArgs = new XargsArguments(args); 032 return new XargsCommand(xargsArgs); 033 } 034 035 @Override 036 public XargsCommand xargs(String delimiter) { 037 final XargsArguments xargsArgs = new XargsArguments(); 038 xargsArgs.setDelimiter(delimiter); 039 return new XargsCommand(xargsArgs); 040 } 041 042 @Override 043 public XargsCommand xargs(long maxLines) { 044 final XargsArguments xargsArgs = new XargsArguments(); 045 xargsArgs.setMaxLines(maxLines); 046 return new XargsCommand(xargsArgs); 047 } 048 049 @Override 050 public XargsCommand xargs(int maxArgs) { 051 final XargsArguments xargsArgs = new XargsArguments(); 052 xargsArgs.setMaxArgs(maxArgs); 053 return new XargsCommand(xargsArgs); 054 } 055 056 @Override 057 public XargsCommand xargs(long maxLines, int maxArgs) { 058 final XargsArguments xargsArgs = new XargsArguments(); 059 xargsArgs.setMaxLines(maxLines); 060 xargsArgs.setMaxArgs(maxArgs); 061 return new XargsCommand(xargsArgs); 062 } 063 064 @Override 065 public XargsCommand xargs(String delimiter, long maxLines) { 066 final XargsArguments xargsArgs = new XargsArguments(); 067 xargsArgs.setDelimiter(delimiter); 068 xargsArgs.setMaxLines(maxLines); 069 return new XargsCommand(xargsArgs); 070 } 071 072 @Override 073 public XargsCommand xargs(String delimiter, int maxArgs) { 074 final XargsArguments xargsArgs = new XargsArguments(); 075 xargsArgs.setDelimiter(delimiter); 076 xargsArgs.setMaxArgs(maxArgs); 077 return new XargsCommand(xargsArgs); 078 } 079 080 @Override 081 public XargsCommand xargs(String delimiter, long maxLines, int maxArgs) { 082 final XargsArguments xargsArgs = new XargsArguments(); 083 xargsArgs.setDelimiter(delimiter); 084 xargsArgs.setMaxLines(maxLines); 085 xargsArgs.setMaxArgs(maxArgs); 086 return new XargsCommand(xargsArgs); 087 } 088 089 @Override 090 public XargsCommand xargs(String delimiter, String eof, long maxLines, int maxArgs) { 091 final XargsArguments xargsArgs = new XargsArguments(); 092 xargsArgs.setDelimiter(delimiter); 093 xargsArgs.setEof(eof); 094 xargsArgs.setMaxLines(maxLines); 095 xargsArgs.setMaxArgs(maxArgs); 096 return new XargsCommand(xargsArgs); 097 } 098 099 @Override 100 public XargsCommand xargs(XargsOptions options) { 101 final XargsArguments xargsArgs = new XargsArguments(options); 102 return new XargsCommand(xargsArgs); 103 } 104 105 @Override 106 public XargsCommand xargs(XargsOptions options, String delimiter) { 107 final XargsArguments xargsArgs = new XargsArguments(options); 108 xargsArgs.setDelimiter(delimiter); 109 return new XargsCommand(xargsArgs); 110 } 111 112 @Override 113 public XargsCommand xargs(XargsOptions options, long maxLines) { 114 final XargsArguments xargsArgs = new XargsArguments(options); 115 xargsArgs.setMaxLines(maxLines); 116 return new XargsCommand(xargsArgs); 117 } 118 119 @Override 120 public XargsCommand xargs(XargsOptions options, int maxArgs) { 121 final XargsArguments xargsArgs = new XargsArguments(options); 122 xargsArgs.setMaxArgs(maxArgs); 123 return new XargsCommand(xargsArgs); 124 } 125 126 @Override 127 public XargsCommand xargs(XargsOptions options, long maxLines, int maxArgs) { 128 final XargsArguments xargsArgs = new XargsArguments(options); 129 xargsArgs.setMaxLines(maxLines); 130 xargsArgs.setMaxArgs(maxArgs); 131 return new XargsCommand(xargsArgs); 132 } 133 134 @Override 135 public XargsCommand xargs(XargsOptions options, String delimiter, long maxLines) { 136 final XargsArguments xargsArgs = new XargsArguments(options); 137 xargsArgs.setDelimiter(delimiter); 138 xargsArgs.setMaxLines(maxLines); 139 return new XargsCommand(xargsArgs); 140 } 141 142 @Override 143 public XargsCommand xargs(XargsOptions options, String delimiter, int maxArgs) { 144 final XargsArguments xargsArgs = new XargsArguments(options); 145 xargsArgs.setDelimiter(delimiter); 146 xargsArgs.setMaxArgs(maxArgs); 147 return new XargsCommand(xargsArgs); 148 } 149 150 @Override 151 public XargsCommand xargs(XargsOptions options, String delimiter, long maxLines, int maxArgs) { 152 final XargsArguments xargsArgs = new XargsArguments(options); 153 xargsArgs.setDelimiter(delimiter); 154 xargsArgs.setMaxLines(maxLines); 155 xargsArgs.setMaxArgs(maxArgs); 156 return new XargsCommand(xargsArgs); 157 } 158 159 @Override 160 public XargsCommand xargs(XargsOptions options, String delimiter, String eof, long maxLines, int maxArgs) { 161 final XargsArguments xargsArgs = new XargsArguments(options); 162 xargsArgs.setDelimiter(delimiter); 163 xargsArgs.setEof(eof); 164 xargsArgs.setMaxLines(maxLines); 165 xargsArgs.setMaxArgs(maxArgs); 166 return new XargsCommand(xargsArgs); 167 } 168}