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; } }