package innovimax.mixthem.operation;

import innovimax.mixthem.arguments.Mode;
import innovimax.mixthem.arguments.RuleParam;
import innovimax.mixthem.arguments.ParamValue;

import java.util.Map;

public class CopyFactory {
  
    public static ICopyOperation newInstance(final Mode mode, final CopyMode mode, final Map<RuleParam, ParamValue> params) {
        return mode == Mode.CHAR ? new DefaultCharCopy(mode, params) : new DefaultByteCopy(mode, params);
    }    
    
}

@@ -70,14 +70,18 @@
 nts.
+File
 Mode;%0A
-
 impo
@@ -223,16 +223,229 @@
 ry %7B%0A  %0A
+  %09/**%0A    * @param fileMode The file mode for reading files%0A    * @param copyMode the copy mode to process%0A    * @see innovimax.mixthem.arguments.RulePara%0A    * @see innovimax.mixthem.arguments.ParamValue%0A    */%0A
     publ
@@ -487,22 +487,30 @@
 e(final 
+File
 Mode 
-m
+fileM
 ode, fin
@@ -521,17 +521,21 @@
 opyMode 
-m
+copyM
 ode, fin
@@ -593,16 +593,24 @@
 urn 
-m
+fileM
 ode == 
+File
 Mode
@@ -633,25 +633,29 @@
 ultCharCopy(
-m
+copyM
 ode, params)
@@ -677,17 +677,21 @@
 yteCopy(
-m
+copyM
 ode, par

Update CopyFactory.java