Skip to content

Commit 1e79752

Browse files
committed
conditions are now a simple list associated with element selectors
1 parent a9f5cef commit 1e79752

File tree

10 files changed

+143
-451
lines changed

10 files changed

+143
-451
lines changed

src/main/java/com/gargoylesoftware/css/parser/condition/AndCondition.java

Lines changed: 0 additions & 75 deletions
This file was deleted.

src/main/java/com/gargoylesoftware/css/parser/condition/Condition.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ public interface Condition extends Locatable {
2525
* ConditionType enum.
2626
*/
2727
enum ConditionType {
28-
AND_CONDITION,
2928
ATTRIBUTE_CONDITION,
3029
ID_CONDITION,
3130
LANG_CONDITION,

src/main/java/com/gargoylesoftware/css/parser/selector/ConditionalSelector.java

Lines changed: 0 additions & 70 deletions
This file was deleted.

src/main/java/com/gargoylesoftware/css/parser/selector/ElementSelector.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,20 @@
1515
package com.gargoylesoftware.css.parser.selector;
1616

1717
import java.io.Serializable;
18+
import java.util.ArrayList;
19+
import java.util.List;
1820

1921
import com.gargoylesoftware.css.parser.AbstractLocatable;
2022
import com.gargoylesoftware.css.parser.Locator;
23+
import com.gargoylesoftware.css.parser.condition.Condition;
2124

2225
/**
2326
* @author Ronald Brill
2427
*/
2528
public class ElementSelector extends AbstractLocatable implements SimpleSelector, Serializable {
2629

2730
private final String localName_;
31+
private List<Condition> conditions_;
2832

2933
public ElementSelector(final String localName, final Locator locator) {
3034
localName_ = localName;
@@ -40,11 +44,29 @@ public String getLocalName() {
4044
return localName_;
4145
}
4246

47+
public List<Condition> getConditions() {
48+
return conditions_;
49+
}
50+
51+
public void addCondition(final Condition condition) {
52+
if (conditions_ == null) {
53+
conditions_ = new ArrayList<Condition>();
54+
}
55+
conditions_.add(condition);
56+
}
57+
4358
@Override
4459
public String toString() {
45-
final String localeName = getLocalName();
60+
String localeName = getLocalName();
4661
if (localeName == null) {
47-
return "*";
62+
localeName = "*";
63+
}
64+
65+
// TODO use StringBuilder
66+
if (conditions_ != null) {
67+
for (Condition condition : conditions_) {
68+
localeName += condition.toString();
69+
}
4870
}
4971
return localeName;
5072
}

src/main/java/com/gargoylesoftware/css/parser/selector/Selector.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ public interface Selector extends Locatable {
2424
enum SelectorType {
2525
ANY_NODE_SELECTOR,
2626
CHILD_SELECTOR,
27-
CONDITIONAL_SELECTOR,
2827
DESCENDANT_SELECTOR,
2928
DIRECT_ADJACENT_SELECTOR,
3029
ELEMENT_NODE_SELECTOR,

0 commit comments

Comments
 (0)