modules/graphics/src/main/java/javafx/css/Match.java
Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
*** 1,7 ****
/*
! * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 21,55 ****
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
! package com.sun.javafx.css;
import static javafx.geometry.NodeOrientation.INHERIT;
/**
* Used by {@link Rule} to determine whether or not the selector applies to a
* given object.
*
- /**
* Returned by {@link Selector#matches} in the event of a match.
*/
! final class Match implements Comparable<Match> {
final Selector selector;
final PseudoClassState pseudoClasses;
final int idCount;
final int styleClassCount;
// CSS3 spec gives weight to id count, then style class count,
// then pseudoclass count, and finally matching types (i.e., java name count)
final int specificity;
! Match(final Selector selector, PseudoClassState pseudoClasses,
! int idCount, int styleClassCount) {
assert selector != null;
this.selector = selector;
this.idCount = idCount;
this.styleClassCount = styleClassCount;
this.pseudoClasses = pseudoClasses;
--- 21,57 ----
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
! package javafx.css;
!
! import com.sun.javafx.css.PseudoClassState;
import static javafx.geometry.NodeOrientation.INHERIT;
/**
* Used by {@link Rule} to determine whether or not the selector applies to a
* given object.
*
* Returned by {@link Selector#matches} in the event of a match.
+ *
+ * @since 9
*/
! public final class Match implements Comparable<Match> {
final Selector selector;
final PseudoClassState pseudoClasses;
final int idCount;
final int styleClassCount;
// CSS3 spec gives weight to id count, then style class count,
// then pseudoclass count, and finally matching types (i.e., java name count)
final int specificity;
! Match(final Selector selector, PseudoClassState pseudoClasses, int idCount, int styleClassCount) {
assert selector != null;
this.selector = selector;
this.idCount = idCount;
this.styleClassCount = styleClassCount;
this.pseudoClasses = pseudoClasses;
*** 61,71 ****
}
}
specificity = (idCount << 8) | (styleClassCount << 4) | nPseudoClasses;
}
! @Override
! public int compareTo(Match o) {
return specificity - o.specificity;
}
}
--- 63,84 ----
}
}
specificity = (idCount << 8) | (styleClassCount << 4) | nPseudoClasses;
}
! Selector getSelector() {
! return selector;
! }
!
! PseudoClassState getPseudoClasses() {
! return pseudoClasses;
! }
!
! int getSpecificity() {
! return specificity;
! }
!
! @Override public int compareTo(Match o) {
return specificity - o.specificity;
}
}