W3C home > Mailing lists > Public > www-validator-cvs@w3.org > October 2011

2002/css-validator/org/w3c/css/selectors PseudoFactory.java,1.7,1.8

From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
Date: Tue, 04 Oct 2011 20:04:11 +0000
To: www-validator-cvs@w3.org
Message-Id: <E1RBBDn-0002bP-4t@lionel-hutz.w3.org>
Update of /sources/public/2002/css-validator/org/w3c/css/selectors
In directory hutz:/tmp/cvs-serv9935/org/w3c/css/selectors

Modified Files:
	PseudoFactory.java 
Log Message:
updated per http://www.w3.org/TR/2011/REC-css3-selectors-20110929/

Index: PseudoFactory.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/selectors/PseudoFactory.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- PseudoFactory.java	12 Feb 2009 21:26:35 -0000	1.7
+++ PseudoFactory.java	4 Oct 2011 20:04:09 -0000	1.8
@@ -4,16 +4,15 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.selectors;
 
-import org.w3c.css.util.ApplContext;
-import org.w3c.css.util.InvalidParamException;
-
-import org.w3c.css.selectors.pseudofunctions.PseudoFunctionContains;
 import org.w3c.css.selectors.pseudofunctions.PseudoFunctionLang;
 import org.w3c.css.selectors.pseudofunctions.PseudoFunctionNot;
 import org.w3c.css.selectors.pseudofunctions.PseudoFunctionNthChild;
 import org.w3c.css.selectors.pseudofunctions.PseudoFunctionNthLastChild;
-import org.w3c.css.selectors.pseudofunctions.PseudoFunctionNthOfType;
 import org.w3c.css.selectors.pseudofunctions.PseudoFunctionNthLastOfType;
+import org.w3c.css.selectors.pseudofunctions.PseudoFunctionNthOfType;
+import org.w3c.css.util.ApplContext;
+import org.w3c.css.util.CssVersion;
+import org.w3c.css.util.InvalidParamException;
 
 /**
  * PseudoFactory<br />
@@ -22,175 +21,179 @@
 public class PseudoFactory {
 
     private static final String[] PSEUDOCLASS_CONSTANTSCSS3 =
-    { "link", "visited", "active", "focus", "target",
-	"hover", "first-child", "enabled", "disabled",
-	"checked", "indeterminate", "root", "last-child",
-	"first-of-type", "last-of-type", "only-of-type",
-	"only-child", "empty", "valid", "invalid", "required",
-	"optional", "read-only", "read-write",
-	"default", "in-range", "out-of-range"
-    };
+            {"link", "visited", "active", "focus", "target",
+                    "hover", "first-child", "enabled", "disabled",
+                    "checked", "indeterminate", "root", "last-child",
+                    "first-of-type", "last-of-type", "only-of-type",
+                    "only-child", "empty",
+            };
 
     private static final String[] PSEUDOCLASS_CONSTANTSCSS2 =
-    {
-	"link", "visited", "active", "target", "focus",
-	"hover", "first-child"
-    };
+            {
+                    "link", "visited", "active", "focus",
+                    "hover", "first-child"
+            };
+
 
     private static final String[] PSEUDOCLASS_CONSTANTSTV =
-    {
-	"link", "visited", "active", "focus", "first-child"
-    };
+            {
+                    "link", "visited", "active", "focus", "first-child"
+            };
 
     private static final String[] PSEUDOCLASS_CONSTANTSCSS1 =
-    {
-	"link", "visited", "active", "target"
-    };
+            {
+                    "link", "visited", "active"
+            };
 
     private static final String[] PSEUDOCLASS_CONSTANTS_MOBILE =
-    {
-	"link", "visited", "active", "focus"
-    };
+            {
+                    "link", "visited", "active", "focus"
+            };
 
     private static final String[] PSEUDOELEMENT_CONSTANTSCSS3 =
-    {
-	"first-line", "first-letter", "before", "after",
-	"selection", "marker", "value", "choices", "repeat-item",
-	"repeat-index"
-    };
+            {
+                    "first-line", "first-letter", "before", "after",
+            };
 
     private static final String[] PSEUDOELEMENT_CONSTANTSCSS2 =
-    {
-	"first-line", "first-letter", "before", "after"
-    };
+            {
+                    "first-line", "first-letter", "before", "after"
+            };
 
     private static final String[] PSEUDOELEMENT_CONSTANTSCSS1 =
-    {
-	"first-line", "first-letter"
-    };
+            {
+                    "first-line", "first-letter"
+            };
 
     private static final String[] PSEUDOFUNCTION_CONSTANTSCSS3 =
-    {
-	"nth-child", "nth-last-child", "nth-of-type", "nth-last-of-type",
-	"lang", "contains", "not"
-    };
+            {
+                    "nth-child", "nth-last-child", "nth-of-type", "nth-last-of-type",
+                    "lang", "not"
+            };
 
     private static final String[] PSEUDOFUNCTION_CONSTANTSCSS2 =
-    {
-	"lang"
-    };
+            {
+                    "lang"
+            };
 
     /**
      * Returns the possible pseudo-classes for a profile
+     *
      * @param profile the profile to get associated pseudo-classes
      * @return the possible pseudo-classes for the profile
      */
     public static String[] getPseudoClass(String profile) {
-	if(profile == null || profile.equals("css2")|| profile.equals("css21")) {
-	    return PSEUDOCLASS_CONSTANTSCSS2;
-	}
-	if(profile.equals("css1")) {
-	    return PSEUDOCLASS_CONSTANTSCSS1;
-	}
-	if(profile.equals("css3")) {
-	    return PSEUDOCLASS_CONSTANTSCSS3;
-	}
-	if(profile.equals("tv")) {
-	    return PSEUDOCLASS_CONSTANTSTV;
-	}
-	if(profile.equals("mobile")) {
-	    return PSEUDOCLASS_CONSTANTS_MOBILE;
-	}
-	return null;
+        if (profile == null || profile.equals("css2") || profile.equals("css21")) {
+            return PSEUDOCLASS_CONSTANTSCSS2;
+        }
+        if (profile.equals("css3")) {
+            return PSEUDOCLASS_CONSTANTSCSS3;
+        }
+        if (profile.equals("css1")) {
+            return PSEUDOCLASS_CONSTANTSCSS1;
+        }
+        if (profile.equals("tv")) {
+            return PSEUDOCLASS_CONSTANTSTV;
+        }
+        if (profile.equals("mobile")) {
+            return PSEUDOCLASS_CONSTANTS_MOBILE;
+        }
+        return null;
     }
 
     /**
      * Returns the possible pseudo-elements for a profile
-     * @param profile the profile to get associated pseudo-elements
+     *
+     * @param version the CSS Version^Wlevel to get associated pseudo-elements
      * @return the possible pseudo-elements for the profile
      */
-    public static String[] getPseudoElement(String profile) {
-	if(profile == null || profile.equals("css2") || profile.equals("css21")
-	    || profile.equals("tv")) {
-	    return PSEUDOELEMENT_CONSTANTSCSS2;
-	}
-	if(profile.equals("css1")) {
-	    return PSEUDOELEMENT_CONSTANTSCSS1;
-	}
-	if(profile.equals("css3")) {
-	    return PSEUDOELEMENT_CONSTANTSCSS3;
-	}
-	return null;
+    public static String[] getPseudoElement(CssVersion version) {
+        switch (version) {
+            case CSS2:
+            case CSS21:
+                return PSEUDOELEMENT_CONSTANTSCSS2;
+            case CSS3:
+                return PSEUDOELEMENT_CONSTANTSCSS3;
+            case CSS1:
+                return PSEUDOELEMENT_CONSTANTSCSS1;
+            default:
+                return null;
+
+        }
     }
 
     /**
      * Returns the possible pseudo-functions for a profile
-     * @param profile the profile to get associated pseudo-functions
+     *
+     * @param version the profile to get associated pseudo-functions
      * @return the possible pseudo-functions for the profile
      */
-    public static String[] getPseudoFunction(String profile) {
-	if(profile == null || profile.equals("css2") || profile.equals("css21") ||
-		profile.equals("mobile") || profile.equals("tv")) {
-	    return PSEUDOFUNCTION_CONSTANTSCSS2;
-	}
-	if(profile.equals("css3")) {
-	    return PSEUDOFUNCTION_CONSTANTSCSS3;
-	}
-	return null;
+    public static String[] getPseudoFunction(CssVersion version) {
+        switch (version) {
+            case CSS2:
+            case CSS21:
+                return PSEUDOFUNCTION_CONSTANTSCSS2;
+            case CSS3:
+                return PSEUDOFUNCTION_CONSTANTSCSS3;
+            case CSS1:
+            default:
+                return null;
+        }
     }
 
     /**
      * Returns the possible pseudo-elements written as pseudo-classes
      * for a specific profile
-     * @param profile the profile to get associated exceptions to the rule
+     *
+     * @param version the profile to get associated exceptions to the rule
      * @return the possible pseudo-elements/classes for the profile
-     */  
-    public static String[] getPseudoElementExceptions(String profile) {
-	if(profile == null || profile.equals("css2") ||
-	   profile.equals("css21") || profile.equals("css3") ||
-	   profile.equals("mobile") || profile.equals("tv")) {
-	    return PSEUDOELEMENT_CONSTANTSCSS2;
-	}
-	return null;
+     */
+    public static String[] getPseudoElementExceptions(CssVersion version) {
+        switch (version) {
+            case CSS2:
+            case CSS21:
+            case CSS3:
+                return PSEUDOELEMENT_CONSTANTSCSS2;
+            case CSS1:
+            default:
+                return null;
+        }
     }
 
     /**
-     * Returns a PseudoFunctionSelector based on the name of the 
+     * Returns a PseudoFunctionSelector based on the name of the
      * selector
-     * @param name, the name of the pseudofun selector
+     *
+     * @param name,  the name of the pseudofun selector
      * @param value, its value
      * @throws InvalidParamException
      */
-    public static PseudoFunctionSelector newPseudoFunction(String name, 
-					       String value, ApplContext ac) 
-	throws InvalidParamException
-    {
-	if (name == null) {
-	    throw new InvalidParamException("pseudo", 
-					    "null pseudofunction", ac);
-	}
-	if (name.equals("lang")) {
-	    return new PseudoFunctionLang(name, value);
-	}
-	if (name.equals("not")) {
-	    return new PseudoFunctionNot(name, value);
-	}
-	if (name.equals("contains")) {
-	    return new PseudoFunctionContains(name, value);
-	}
-	if (name.equals("nth-child")) {
-	    return new PseudoFunctionNthChild(name, value);
-	}
-	if (name.equals("nth-last-child")) {
-	    return new PseudoFunctionNthLastChild(name, value);
-	}
-	if (name.equals("nth-of-type")) {
-	    return new PseudoFunctionNthOfType(name, value);
-	}
-	if (name.equals("nth-last-of-type")) {
-	    return new PseudoFunctionNthLastOfType(name, value);
-	}
-	throw new InvalidParamException("pseudo", 
-					":"+name, ac);
+    public static PseudoFunctionSelector newPseudoFunction(String name,
+                                                           String value, ApplContext ac)
+            throws InvalidParamException {
+        if (name == null) {
+            throw new InvalidParamException("pseudo",
+                    "null pseudofunction", ac);
+        }
+        if (name.equals("lang")) {
+            return new PseudoFunctionLang(name, value);
+        }
+        if (name.equals("not")) {
+            return new PseudoFunctionNot(name, value);
+        }
+        if (name.equals("nth-child")) {
+            return new PseudoFunctionNthChild(name, value);
+        }
+        if (name.equals("nth-last-child")) {
+            return new PseudoFunctionNthLastChild(name, value);
+        }
+        if (name.equals("nth-of-type")) {
+            return new PseudoFunctionNthOfType(name, value);
+        }
+        if (name.equals("nth-last-of-type")) {
+            return new PseudoFunctionNthLastOfType(name, value);
+        }
+        throw new InvalidParamException("pseudo",
+                ":" + name, ac);
     }
 }
Received on Tuesday, 4 October 2011 20:04:15 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:17:47 UTC