You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by de...@apache.org on 2017/09/17 12:29:53 UTC
[myfaces-trinidad] 12/30: Checkpoint: AgentAtRuleMatcher code
cleanup.
This is an automated email from the ASF dual-hosted git repository.
deki pushed a commit to branch andys-skin-pregen
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git
commit 7ecf9bb8052b0a4f9f76eecc275197d664de894b
Author: Andy Schwartz <an...@apache.org>
AuthorDate: Tue Mar 13 17:57:46 2012 +0000
Checkpoint: AgentAtRuleMatcher code cleanup.
---
.../share/nls/NullLocaleContext.java | 2 +-
.../trinidadinternal/skin/AgentAtRuleMatcher.java | 86 +++++++---------------
2 files changed, 28 insertions(+), 60 deletions(-)
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/NullLocaleContext.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/NullLocaleContext.java
index ac28c2d..a0ca3cb 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/NullLocaleContext.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/NullLocaleContext.java
@@ -105,7 +105,7 @@ public final class NullLocaleContext extends LocaleContext
_rightToLeft = rightToLeft;
}
- private boolean _rightToLeft;
+ private final boolean _rightToLeft;
private static final LocaleContext _RTL_INSTANCE = new NullLocaleContext(true);
private static final LocaleContext _LTR_INSTANCE = new NullLocaleContext(false);
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/AgentAtRuleMatcher.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/AgentAtRuleMatcher.java
index 97a4158..d2ea321 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/AgentAtRuleMatcher.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/AgentAtRuleMatcher.java
@@ -239,29 +239,18 @@ public final class AgentAtRuleMatcher
*/
public Collection<Range<Version>> getAllVersionsForApplication(TrinidadAgent.Application application)
{
- Collection<Range<Version>> ranges = new HashSet<Range<Version>>();
- Set<AgentMatcher> agentMatchers = _selectorAgents.get(application);
+ Collection<Range<Version>> versionRanges = new HashSet<Range<Version>>();
+ Collection<AgentMatcher> agentMatchers = _selectorAgents.get(application);
for (AgentMatcher agentMatcher : agentMatchers)
{
- Range<Version> range = _getVersionRange(agentMatcher);
- assert(range != null);
+ Range<Version> versionRange = agentMatcher.getMatchedVersions();
+ assert(versionRange != null);
- ranges.add(range);
+ versionRanges.add(versionRange);
}
- return ranges;
- }
-
- // Returns a non-null range of Versions for the specified matcher.
- private static Range<Version> _getVersionRange(AgentMatcher agentMatcher)
- {
- if (agentMatcher instanceof Versioned)
- {
- return ((Versioned)agentMatcher).getMatchedVersions();
- }
-
- return Version.ALL_VERSIONS;
+ return versionRanges;
}
/**
@@ -567,6 +556,17 @@ public final class AgentAtRuleMatcher
* @return <code>true</code> if the match succeeds
*/
public abstract boolean match(TrinidadAgent agent);
+
+ /**
+ * Returns the versions matched by this AgentMatcher.
+ *
+ * By default, all versions are matched. Subclasses should
+ * override to constrain to the versions that they match.
+ */
+ public Range<Version> getMatchedVersions()
+ {
+ return Version.ALL_VERSIONS;
+ }
@Override
public abstract int hashCode();
@@ -576,20 +576,10 @@ public final class AgentAtRuleMatcher
}
/**
- * Utility interface used by getAllVersionsForApplication() to extract
- * version info from agent matchers.
- */
- private interface Versioned
- {
- Range<Version> getMatchedVersions();
- }
-
- /**
* Immutable and thread-safe AgentMatcher that matches the supplied Version against the
* version of a TrinidadAgent using the supplied, MAX, MIN, or EQUALS Comparison
*/
private static final class VersionMatcher extends AgentMatcher
- implements Versioned
{
/**
* Creates a VersionMatcher
@@ -707,7 +697,7 @@ public final class AgentAtRuleMatcher
* AgentMatcher that ANDs the results of all calling match() on its AgentMatchers together,
* short-circuiting on the first AgentMatcher.match() that returns false.
*/
- private static class AndMatcher extends AgentMatcher implements Versioned
+ private static class AndMatcher extends AgentMatcher
{
/**
* Creates an AndMatcher
@@ -726,20 +716,20 @@ public final class AgentAtRuleMatcher
for (AgentMatcher matcher : matchers)
{
if (matcher instanceof VersionMatcher)
- hasVersionMatcher = true;
+ _hasVersionMatcher = true;
if (matcher instanceof TouchScreenCapabilityMatcher)
- hasTouchScreenCapabilityMatcher = true;
+ _hasTouchScreenCapabilityMatcher = true;
}
}
protected boolean hasTouchScreenCapabilityMatcher()
{
- return hasTouchScreenCapabilityMatcher;
+ return _hasTouchScreenCapabilityMatcher;
}
protected boolean hasVersionMatcher()
{
- return hasVersionMatcher;
+ return _hasVersionMatcher;
}
/**
@@ -766,35 +756,14 @@ public final class AgentAtRuleMatcher
@Override
public Range<Version> getMatchedVersions()
{
- List<Range<Version>> versionRanges = new ArrayList<Range<Version>>(_matchers.size());
+ Range<Version> versionRange = Version.ALL_VERSIONS;
for (AgentMatcher matcher : _matchers)
{
- if (matcher instanceof Versioned)
- {
- Range<Version> versionRange = ((Versioned)matcher).getMatchedVersions();
- if (versionRange != null)
- {
- versionRanges.add(versionRange);
- }
- }
+ versionRange = versionRange.intersect(matcher.getMatchedVersions());
}
- return _intersectVersionRanges(versionRanges);
- }
-
- private static Range<Version> _intersectVersionRanges(
- List<Range<Version>> versionRanges
- )
- {
- Range<Version> intersectRange = Version.ALL_VERSIONS;
-
- for (Range versionRange : versionRanges)
- {
- intersectRange = intersectRange.intersect(versionRange);
- }
-
- return intersectRange;
+ return versionRange;
}
@Override
@@ -831,9 +800,8 @@ public final class AgentAtRuleMatcher
private final List<AgentMatcher> _matchers;
private final int _hashCode;
- private boolean hasVersionMatcher;
- private boolean hasTouchScreenCapabilityMatcher;
-
+ private boolean _hasVersionMatcher;
+ private boolean _hasTouchScreenCapabilityMatcher;
}
/**
--
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.