From 3fda16e930c71e86d5d8bc00756b1718fe886db6 Mon Sep 17 00:00:00 2001 From: Decebal Suiu Date: Sun, 23 Jan 2022 23:54:31 +0200 Subject: [PATCH] Fix duplication code (sonar hints) --- .../java/org/pf4j/util/io/AndPathFilter.java | 32 ++----------- .../org/pf4j/util/io/CompoundPathFilter.java | 46 +++++++++++++++++++ .../java/org/pf4j/util/io/OrPathFilter.java | 32 ++----------- 3 files changed, 54 insertions(+), 56 deletions(-) create mode 100644 pf4j/src/main/java/org/pf4j/util/io/CompoundPathFilter.java diff --git a/pf4j/src/main/java/org/pf4j/util/io/AndPathFilter.java b/pf4j/src/main/java/org/pf4j/util/io/AndPathFilter.java index 74f72d2..25ef905 100644 --- a/pf4j/src/main/java/org/pf4j/util/io/AndPathFilter.java +++ b/pf4j/src/main/java/org/pf4j/util/io/AndPathFilter.java @@ -16,9 +16,6 @@ package org.pf4j.util.io; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.List; /** @@ -28,39 +25,18 @@ import java.util.List; * * @author Decebal Suiu */ -public class AndPathFilter implements PathFilter { - - /** The list of path filters. */ - private List pathFilters; +public class AndPathFilter extends CompoundPathFilter { public AndPathFilter() { - this(new ArrayList<>()); + super(); } public AndPathFilter(PathFilter... pathFilters) { - this(Arrays.asList(pathFilters)); + super(pathFilters); } public AndPathFilter(List pathFilters) { - this.pathFilters = new ArrayList<>(pathFilters); - } - - public AndPathFilter addPathFilter(PathFilter fileFilter) { - pathFilters.add(fileFilter); - - return this; - } - - public List getPathFilters() { - return Collections.unmodifiableList(pathFilters); - } - - public boolean removePathFilter(PathFilter pathFilter) { - return pathFilters.remove(pathFilter); - } - - public void setPathFilters(List pathFilters) { - this.pathFilters = new ArrayList<>(pathFilters); + super(pathFilters); } @Override diff --git a/pf4j/src/main/java/org/pf4j/util/io/CompoundPathFilter.java b/pf4j/src/main/java/org/pf4j/util/io/CompoundPathFilter.java new file mode 100644 index 0000000..c7dfbbd --- /dev/null +++ b/pf4j/src/main/java/org/pf4j/util/io/CompoundPathFilter.java @@ -0,0 +1,46 @@ +package org.pf4j.util.io; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @author Decebal Suiu + */ +public abstract class CompoundPathFilter implements PathFilter { + + /** The list of path filters. */ + protected List pathFilters; + + public CompoundPathFilter() { + this(new ArrayList<>()); + } + + public CompoundPathFilter(PathFilter... pathFilters) { + this(Arrays.asList(pathFilters)); + } + + public CompoundPathFilter(List pathFilters) { + this.pathFilters = new ArrayList<>(pathFilters); + } + + public CompoundPathFilter addPathFilter(PathFilter fileFilter) { + pathFilters.add(fileFilter); + + return this; + } + + public List getPathFilters() { + return Collections.unmodifiableList(pathFilters); + } + + public boolean removePathFilter(PathFilter pathFilter) { + return pathFilters.remove(pathFilter); + } + + public void setPathFilters(List pathFilters) { + this.pathFilters = new ArrayList<>(pathFilters); + } + +} diff --git a/pf4j/src/main/java/org/pf4j/util/io/OrPathFilter.java b/pf4j/src/main/java/org/pf4j/util/io/OrPathFilter.java index 52462af..b02088a 100644 --- a/pf4j/src/main/java/org/pf4j/util/io/OrPathFilter.java +++ b/pf4j/src/main/java/org/pf4j/util/io/OrPathFilter.java @@ -16,9 +16,6 @@ package org.pf4j.util.io; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.List; /** @@ -28,39 +25,18 @@ import java.util.List; * * @author Decebal Suiu */ -public class OrPathFilter implements PathFilter { - - /** The list of io filters. */ - private List pathFilters; +public class OrPathFilter extends CompoundPathFilter { public OrPathFilter() { - this(new ArrayList<>()); + super(); } public OrPathFilter(PathFilter... pathFilters) { - this(Arrays.asList(pathFilters)); + super(pathFilters); } public OrPathFilter(List pathFilters) { - this.pathFilters = new ArrayList<>(pathFilters); - } - - public OrPathFilter addPathFilter(PathFilter pathFilter) { - pathFilters.add(pathFilter); - - return this; - } - - public List getPathFilters() { - return Collections.unmodifiableList(pathFilters); - } - - public boolean removePathFilter(PathFilter pathFilter) { - return pathFilters.remove(pathFilter); - } - - public void setPathFilters(List pathFilters) { - this.pathFilters = new ArrayList<>(pathFilters); + super(pathFilters); } @Override -- 2.39.5