001package org.unix4j.unix.tail; 002 003import org.unix4j.unix.Tail; 004 005/** 006 * Factory for the {@link Tail tail} command returning 007 * a new command instance from every signature method. 008 */ 009public final class TailFactory implements Tail.Interface<TailCommand> { 010 011 /** 012 * The singleton instance of this factory. 013 */ 014 public static final TailFactory INSTANCE = new TailFactory(); 015 016 /** 017 * Private, only used to create singleton instance. 018 */ 019 private TailFactory() { 020 super(); 021 } 022 023 @Override 024 public TailCommand tail() { 025 final TailArguments tailArgs = new TailArguments(); 026 return new TailCommand(tailArgs); 027 } 028 029 @Override 030 public TailCommand tail(String... args) { 031 final TailArguments tailArgs = new TailArguments(args); 032 return new TailCommand(tailArgs); 033 } 034 035 @Override 036 public TailCommand tail(long count) { 037 final TailArguments tailArgs = new TailArguments(); 038 tailArgs.setCount(count); 039 return new TailCommand(tailArgs); 040 } 041 042 @Override 043 public TailCommand tail(TailOptions options, long count) { 044 final TailArguments tailArgs = new TailArguments(options); 045 tailArgs.setCount(count); 046 return new TailCommand(tailArgs); 047 } 048 049 @Override 050 public TailCommand tail(java.io.File... files) { 051 final TailArguments tailArgs = new TailArguments(); 052 tailArgs.setFiles(files); 053 return new TailCommand(tailArgs); 054 } 055 056 @Override 057 public TailCommand tail(long count, java.io.File... files) { 058 final TailArguments tailArgs = new TailArguments(); 059 tailArgs.setCount(count); 060 tailArgs.setFiles(files); 061 return new TailCommand(tailArgs); 062 } 063 064 @Override 065 public TailCommand tail(long count, String... paths) { 066 final TailArguments tailArgs = new TailArguments(); 067 tailArgs.setCount(count); 068 tailArgs.setPaths(paths); 069 return new TailCommand(tailArgs); 070 } 071 072 @Override 073 public TailCommand tail(TailOptions options, long count, java.io.File... files) { 074 final TailArguments tailArgs = new TailArguments(options); 075 tailArgs.setCount(count); 076 tailArgs.setFiles(files); 077 return new TailCommand(tailArgs); 078 } 079 080 @Override 081 public TailCommand tail(TailOptions options, long count, String... paths) { 082 final TailArguments tailArgs = new TailArguments(options); 083 tailArgs.setCount(count); 084 tailArgs.setPaths(paths); 085 return new TailCommand(tailArgs); 086 } 087}