1 /* 2 * Copyright the original author or authors. 3 * 4 * Licensed under the MOZILLA PUBLIC LICENSE, Version 1.1 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.mozilla.org/MPL/MPL-1.1.html 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 import org.as2lib.core.BasicInterface; 18 import org.as2lib.io.file.TextFile; 19 import org.as2lib.data.type.Byte; 20 21 /** 22 * {@code TextFileFactory} is a integration layer for {@link org.as2lib.util.TextFileLoader}. 23 * 24 * <p>{@code TextFileLoader} applies the loaded resource to {@code TextFileFactory} 25 * property. The implementations of {@code TextFileLoader} can variy the result of 26 * the loaded file. 27 * 28 * @author Martin Heidegger 29 * @version 1.0 30 */ 31 interface org.as2lib.io.file.TextFileFactory extends BasicInterface { 32 33 /** 34 * Creates a new {@code TextFile} instance for the loaded resource. 35 * 36 * @param source content of the {@code TextFile} to create 37 * @param size size in {@link Byte} of the loaded resource 38 * @param uri URI that has been loaded 39 * @return {@code TextFile} that represents the resource 40 */ 41 public function createTextFile(source:String, size:Byte, uri:String):TextFile; 42 }