001package org.unix4j.unix.grep; 002 003import org.unix4j.unix.Grep; 004 005/** 006 * Factory for the {@link Grep grep} command returning 007 * a new command instance from every signature method. 008 */ 009public final class GrepFactory implements Grep.Interface<GrepCommand> { 010 011 /** 012 * The singleton instance of this factory. 013 */ 014 public static final GrepFactory INSTANCE = new GrepFactory(); 015 016 /** 017 * Private, only used to create singleton instance. 018 */ 019 private GrepFactory() { 020 super(); 021 } 022 023 @Override 024 public GrepCommand grep(String... args) { 025 final GrepArguments grepArgs = new GrepArguments(args); 026 return new GrepCommand(grepArgs); 027 } 028 029 @Override 030 public GrepCommand grep(String regexp) { 031 final GrepArguments grepArgs = new GrepArguments(); 032 grepArgs.setRegexp(regexp); 033 return new GrepCommand(grepArgs); 034 } 035 036 @Override 037 public GrepCommand grep(String regexp, java.io.File... files) { 038 final GrepArguments grepArgs = new GrepArguments(); 039 grepArgs.setRegexp(regexp); 040 grepArgs.setFiles(files); 041 return new GrepCommand(grepArgs); 042 } 043 044 @Override 045 public GrepCommand grep(java.util.regex.Pattern pattern) { 046 final GrepArguments grepArgs = new GrepArguments(); 047 grepArgs.setPattern(pattern); 048 return new GrepCommand(grepArgs); 049 } 050 051 @Override 052 public GrepCommand grep(java.util.regex.Pattern pattern, java.io.File... files) { 053 final GrepArguments grepArgs = new GrepArguments(); 054 grepArgs.setPattern(pattern); 055 grepArgs.setFiles(files); 056 return new GrepCommand(grepArgs); 057 } 058 059 @Override 060 public GrepCommand grep(java.util.regex.Pattern pattern, String... paths) { 061 final GrepArguments grepArgs = new GrepArguments(); 062 grepArgs.setPattern(pattern); 063 grepArgs.setPaths(paths); 064 return new GrepCommand(grepArgs); 065 } 066 067 @Override 068 public GrepCommand grep(GrepOptions options, String regexp) { 069 final GrepArguments grepArgs = new GrepArguments(options); 070 grepArgs.setRegexp(regexp); 071 return new GrepCommand(grepArgs); 072 } 073 074 @Override 075 public GrepCommand grep(GrepOptions options, java.util.regex.Pattern pattern) { 076 final GrepArguments grepArgs = new GrepArguments(options); 077 grepArgs.setPattern(pattern); 078 return new GrepCommand(grepArgs); 079 } 080 081 @Override 082 public GrepCommand grep(GrepOptions options, String regexp, java.io.File... files) { 083 final GrepArguments grepArgs = new GrepArguments(options); 084 grepArgs.setRegexp(regexp); 085 grepArgs.setFiles(files); 086 return new GrepCommand(grepArgs); 087 } 088 089 @Override 090 public GrepCommand grep(GrepOptions options, String regexp, String... paths) { 091 final GrepArguments grepArgs = new GrepArguments(options); 092 grepArgs.setRegexp(regexp); 093 grepArgs.setPaths(paths); 094 return new GrepCommand(grepArgs); 095 } 096 097 @Override 098 public GrepCommand grep(GrepOptions options, java.util.regex.Pattern pattern, java.io.File... files) { 099 final GrepArguments grepArgs = new GrepArguments(options); 100 grepArgs.setPattern(pattern); 101 grepArgs.setFiles(files); 102 return new GrepCommand(grepArgs); 103 } 104 105 @Override 106 public GrepCommand grep(GrepOptions options, java.util.regex.Pattern pattern, String... paths) { 107 final GrepArguments grepArgs = new GrepArguments(options); 108 grepArgs.setPattern(pattern); 109 grepArgs.setPaths(paths); 110 return new GrepCommand(grepArgs); 111 } 112}