14fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/**************************************************************** 24fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Licensed to the Apache Software Foundation (ASF) under one * 34fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * or more contributor license agreements. See the NOTICE file * 44fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * distributed with this work for additional information * 54fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * regarding copyright ownership. The ASF licenses this file * 64fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * to you under the Apache License, Version 2.0 (the * 74fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * "License"); you may not use this file except in compliance * 84fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * with the License. You may obtain a copy of the License at * 94fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * * 104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * http://www.apache.org/licenses/LICENSE-2.0 * 114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * * 124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Unless required by applicable law or agreed to in writing, * 134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * software distributed under the License is distributed on an * 144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * 154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * KIND, either express or implied. See the License for the * 164fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * specific language governing permissions and limitations * 174fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * under the License. * 184fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy ****************************************************************/ 194fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 204fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedypackage org.apache.james.mime4j.util; 214fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 224fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.BufferedInputStream; 234fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.BufferedOutputStream; 244fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.File; 254fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.FileInputStream; 264fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.FileOutputStream; 274fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.IOException; 284fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.InputStream; 294fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.OutputStream; 304fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.util.Random; 314fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 324fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy//BEGIN android-changed: Stubbing out logging 334fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport org.apache.james.mime4j.Log; 344fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport org.apache.james.mime4j.LogFactory; 354fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy//END android-changed 364fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 374fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/** 384fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 394fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @version $Id: SimpleTempStorage.java,v 1.2 2004/10/02 12:41:11 ntherning Exp $ 404fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 414fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedypublic class SimpleTempStorage extends TempStorage { 424fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private static Log log = LogFactory.getLog(SimpleTempStorage.class); 434fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 444fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private TempPath rootPath = null; 454fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private Random random = new Random(); 464fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 474fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 484fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Creates a new <code>SimpleTempStorageManager</code> instance. 494fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 504fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public SimpleTempStorage() { 514fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy rootPath = new SimpleTempPath(System.getProperty("java.io.tmpdir")); 524fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 534fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 544fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private TempPath createTempPath(TempPath parent, String prefix) 554fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy throws IOException { 564fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 574fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy if (prefix == null) { 584fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy prefix = ""; 594fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 604fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 614fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy File p = null; 624fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy int count = 1000; 634fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy do { 644fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy long n = Math.abs(random.nextLong()); 654fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy p = new File(parent.getAbsolutePath(), prefix + n); 664fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy count--; 674fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } while (p.exists() && count > 0); 684fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 694fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy if (p.exists() || !p.mkdirs()) { 704fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy log.error("Unable to mkdirs on " + p.getAbsolutePath()); 714fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy throw new IOException("Creating dir '" 724fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy + p.getAbsolutePath() + "' failed."); 734fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 744fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 754fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return new SimpleTempPath(p); 764fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 774fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 784fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private TempFile createTempFile(TempPath parent, String prefix, 794fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy String suffix) throws IOException { 804fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 814fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy if (prefix == null) { 824fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy prefix = ""; 834fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 844fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy if (suffix == null) { 854fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy suffix = ".tmp"; 864fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 874fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 884fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy File f = null; 894fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 904fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy int count = 1000; 914fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy synchronized (this) { 924fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy do { 934fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy long n = Math.abs(random.nextLong()); 944fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy f = new File(parent.getAbsolutePath(), prefix + n + suffix); 954fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy count--; 964fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } while (f.exists() && count > 0); 974fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 984fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy if (f.exists()) { 994fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy throw new IOException("Creating temp file failed: " 1004fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy + "Unable to find unique file name"); 1014fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1024fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1034fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy try { 1044fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy f.createNewFile(); 1054fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } catch (IOException e) { 1064fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy throw new IOException("Creating dir '" 1074fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy + f.getAbsolutePath() + "' failed."); 1084fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1094fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return new SimpleTempFile(f); 1124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempStorage#getRootTempPath() 1164fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1174fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public TempPath getRootTempPath() { 1184fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return rootPath; 1194fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1204fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1214fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private class SimpleTempPath implements TempPath { 1224fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private File path = null; 1234fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1244fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private SimpleTempPath(String path) { 1254fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy this.path = new File(path); 1264fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1274fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1284fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private SimpleTempPath(File path) { 1294fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy this.path = path; 1304fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1314fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1324fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1334fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempPath#createTempFile() 1344fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1354fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public TempFile createTempFile() throws IOException { 1364fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return SimpleTempStorage.this.createTempFile(this, null, null); 1374fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1384fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1394fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1404fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempPath#createTempFile(java.lang.String, java.lang.String) 1414fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1424fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public TempFile createTempFile(String prefix, String suffix) 1434fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy throws IOException { 1444fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1454fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return SimpleTempStorage.this.createTempFile(this, prefix, suffix); 1464fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1474fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1484fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1494fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempPath#createTempFile(java.lang.String, java.lang.String, boolean) 1504fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1514fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public TempFile createTempFile(String prefix, String suffix, 1524fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy boolean allowInMemory) 1534fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy throws IOException { 1544fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1554fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return SimpleTempStorage.this.createTempFile(this, prefix, suffix); 1564fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1574fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1584fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1594fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempPath#getAbsolutePath() 1604fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1614fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public String getAbsolutePath() { 1624fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return path.getAbsolutePath(); 1634fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1644fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1654fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1664fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Do nothing 1674fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1684fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public void delete() { 1694fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1704fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1714fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1724fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempPath#createTempPath() 1734fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1744fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public TempPath createTempPath() throws IOException { 1754fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return SimpleTempStorage.this.createTempPath(this, null); 1764fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1774fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1784fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1794fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempPath#createTempPath(java.lang.String) 1804fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1814fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public TempPath createTempPath(String prefix) throws IOException { 1824fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return SimpleTempStorage.this.createTempPath(this, prefix); 1834fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1844fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1854fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1864fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1874fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private class SimpleTempFile implements TempFile { 1884fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private File file = null; 1894fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1904fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private SimpleTempFile(File file) { 1914fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy this.file = file; 1924fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy this.file.deleteOnExit(); 1934fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 1944fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 1954fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 1964fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempFile#getInputStream() 1974fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 1984fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public InputStream getInputStream() throws IOException { 1994fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return new BufferedInputStream(new FileInputStream(file)); 2004fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2014fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 2024fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 2034fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempFile#getOutputStream() 2044fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 2054fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public OutputStream getOutputStream() throws IOException { 2064fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return new BufferedOutputStream(new FileOutputStream(file)); 2074fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2084fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 2094fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 2104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempFile#getAbsolutePath() 2114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 2124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public String getAbsolutePath() { 2134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return file.getAbsolutePath(); 2144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 2164fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 2174fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Do nothing 2184fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 2194fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public void delete() { 2204fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy // Not implementated 2214fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2224fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 2234fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 2244fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempFile#isInMemory() 2254fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 2264fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public boolean isInMemory() { 2274fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return false; 2284fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2294fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 2304fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 2314fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @see org.apache.james.mime4j.util.TempFile#length() 2324fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 2334fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public long length() { 2344fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy return file.length(); 2354fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2364fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 2374fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 2384fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy} 239