4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
7 * BonYong Lee <bonyong.lee@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
25 package org.tizen.common;
27 import static org.tizen.common.util.IOUtil.getBytes;
28 import static org.tizen.common.util.IOUtil.tryClose;
30 import java.io.ByteArrayInputStream;
32 import java.io.IOException;
33 import java.io.InputStream;
34 import java.util.jar.JarEntry;
35 import java.util.jar.JarFile;
41 * Read jar file and provide class {@link InputStream}
44 * @author BonYong Lee{@literal <bonyong.lee@samsung.com>} (S-Core)
48 implements ClassSource
54 protected final String path;
57 * Constructor with jar file path
59 * @param location jar path
66 if ( null == location )
68 throw new NullPointerException();
74 * @see org.tizen.common.ClassSource#getResource(java.lang.String)
84 final JarFile file = new JarFile( new File( this.path ) );
85 final JarEntry entry = file.getJarEntry( path );
90 InputStream in = null;
93 in = file.getInputStream( entry );
94 ByteArrayInputStream byteIn = new ByteArrayInputStream( getBytes( in ) );