You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CompoundPluginRepository.java 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Copyright 2012 Decebal Suiu
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with
  5. * the License. You may obtain a copy of the License in the LICENSE file, or at:
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  10. * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  11. * specific language governing permissions and limitations under the License.
  12. */
  13. package ro.fortsoft.pf4j;
  14. import java.io.File;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. /**
  18. * @author Decebal Suiu
  19. * @author Mário Franco
  20. */
  21. public class CompoundPluginRepository implements PluginRepository {
  22. private final PluginRepository[] repositories;
  23. public CompoundPluginRepository(PluginRepository... repositories) {
  24. this.repositories = repositories;
  25. }
  26. @Override
  27. public List<File> getPluginArchives() {
  28. List<File> file = new ArrayList<>();
  29. for (PluginRepository repository : repositories) {
  30. file.addAll(repository.getPluginArchives());
  31. }
  32. return file;
  33. }
  34. @Override
  35. public boolean deletePluginArchive(String pluginPath) {
  36. for (PluginRepository repository : repositories) {
  37. if (repository.deletePluginArchive(pluginPath)) {
  38. return true;
  39. }
  40. }
  41. return false;
  42. }
  43. }