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