1*055d4590SKeyi Gui /* 2*055d4590SKeyi Gui * Copyright (C) 2013 The Android Open Source Project 3*055d4590SKeyi Gui * 4*055d4590SKeyi Gui * Licensed under the Apache License, Version 2.0 (the "License"); 5*055d4590SKeyi Gui * you may not use this file except in compliance with the License. 6*055d4590SKeyi Gui * You may obtain a copy of the License at 7*055d4590SKeyi Gui * 8*055d4590SKeyi Gui * http://www.apache.org/licenses/LICENSE-2.0 9*055d4590SKeyi Gui * 10*055d4590SKeyi Gui * Unless required by applicable law or agreed to in writing, software 11*055d4590SKeyi Gui * distributed under the License is distributed on an "AS IS" BASIS, 12*055d4590SKeyi Gui * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*055d4590SKeyi Gui * See the License for the specific language governing permissions and 14*055d4590SKeyi Gui * limitations under the License. 15*055d4590SKeyi Gui */ 16*055d4590SKeyi Gui 17*055d4590SKeyi Gui package com.android.multidex; 18*055d4590SKeyi Gui 19*055d4590SKeyi Gui import java.io.IOException; 20*055d4590SKeyi Gui import java.io.InputStream; 21*055d4590SKeyi Gui 22*055d4590SKeyi Gui /** 23*055d4590SKeyi Gui * An element of the class path in which class files can be found. 24*055d4590SKeyi Gui */ 25*055d4590SKeyi Gui interface ClassPathElement { 26*055d4590SKeyi Gui 27*055d4590SKeyi Gui char SEPARATOR_CHAR = '/'; 28*055d4590SKeyi Gui 29*055d4590SKeyi Gui /** 30*055d4590SKeyi Gui * Open a "file" from this {@code ClassPathElement}. 31*055d4590SKeyi Gui * @param path a '/' separated relative path to the wanted file. 32*055d4590SKeyi Gui * @return an {@code InputStream} ready to read the requested file. 33*055d4590SKeyi Gui * @throws IOException if the path can not be found or if an error occurred while opening it. 34*055d4590SKeyi Gui */ open(String path)35*055d4590SKeyi Gui InputStream open(String path) throws IOException; 36*055d4590SKeyi Gui close()37*055d4590SKeyi Gui void close() throws IOException; 38*055d4590SKeyi Gui list()39*055d4590SKeyi Gui Iterable<String> list(); 40*055d4590SKeyi Gui 41*055d4590SKeyi Gui } 42