blob: b23ce66fa65cd66113ba322cc1f00d70b76771f0 [file] [log] [blame]
/*
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.dexgen.util;
import java.io.File;
/**
* Helper class used primarily for holding path on the device of different
* files arising in the dex class generation process.
*/
public class PathHolder {
public static final String DEX_FILE_EXTENSION = ".dex";
public static final String JAR_FILE_EXTENSION = ".jar";
/** {@code non-null;} directory location of the dex-related files */
private final String dirLocation;
/** {@code non-null;} common file name prefix of the created files */
private final String fileNamePrefix;
/**
* Creates an instance of {@code PathHolder} initialized with the directory
* location for storage of temporary files and common file name prefix for these
* files.
*
* @param dirLocation {@code non-null;} path to directory used for storage of temporary files
* @param fileNamePrefix {@code non-null;} common file name prefix across all the temporary
* files involved in the dex class generation and loading process
*/
public PathHolder(String dirLocation, String fileNamePrefix) {
if (dirLocation == null) {
throw new NullPointerException("dirLocation == null");
}
if (fileNamePrefix == null) {
throw new NullPointerException("fileNamePrefix == null");
}
this.dirLocation = dirLocation;
this.fileNamePrefix = fileNamePrefix;
}
public String getFileName() {
return fileNamePrefix;
}
public String getDexFilePath() {
return dirLocation + File.separator + fileNamePrefix + DEX_FILE_EXTENSION;
}
public String getDexFileName() {
return fileNamePrefix + DEX_FILE_EXTENSION;
}
public String getJarFilePath() {
return dirLocation + File.separator + fileNamePrefix + JAR_FILE_EXTENSION;
}
public String getJarFileName() {
return fileNamePrefix + JAR_FILE_EXTENSION;
}
public String getDirLocation() {
return dirLocation;
}
}