Java Resource Get getResourceInBundleOrFragments(Bundle bundle, String name)

Here you can find the source of getResourceInBundleOrFragments(Bundle bundle, String name)

Description

get Resource In Bundle Or Fragments

License

Open Source License

Declaration

public static URL getResourceInBundleOrFragments(Bundle bundle, String name) 

Method Source Code

//package com.java2s;
/**//www  .j a  va 2  s  . co m
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

import java.net.URL;
import java.util.Enumeration;
import org.osgi.framework.Bundle;

public class Main {
    public static URL getResourceInBundleOrFragments(Bundle bundle, String name) {

        String dirName = "/";
        String fileName = name;

        int index = name.lastIndexOf('/');

        if (index > 0) {
            dirName = name.substring(0, index);
            fileName = name.substring(index + 1);
        } else if (index == 0) {
            fileName = name.substring(1);
        }

        if (fileName.length() == 0) {
            if (!dirName.equals("/")) {
                dirName = dirName + "/";
            }

            return bundle.getEntry(dirName);
        }

        Enumeration<URL> enumeration = bundle.findEntries(dirName, fileName, false);

        if ((enumeration == null) || !enumeration.hasMoreElements()) {
            return null;
        }

        return enumeration.nextElement();
    }
}

Related

  1. getResourceExpression(String select)
  2. getResourceFile(Class clazz, String fileName)
  3. getResourceFile(String name)
  4. getResourceFromBundle(Class clazz, String location)
  5. getResourceFromFile(String filename)
  6. getResourceListing(ClassLoader cl)
  7. getResourceMessage(Locale locale, String resource, String key, Object... params)
  8. getResourceReader(Class clazz, String name, String charset)
  9. getResources(String archiveName)