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