com.openhtmltopdf.css.sheet.Stylesheet Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openhtmltopdf-core Show documentation
Show all versions of openhtmltopdf-core Show documentation
Open HTML to PDF is a CSS 2.1 renderer written in Java. This artifact contains the core rendering and layout code.
The newest version!
/*
* Stylesheet.java
* Copyright (c) 2004, 2005 Patrick Wright, Torbjoern Gannholm
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
package com.openhtmltopdf.css.sheet;
import java.util.ArrayList;
import java.util.List;
/**
* A representation of a CSS style sheet. A Stylesheet has the sheet's rules in
* {@link Ruleset}, and has an origin--either user agent, user, or author. A
* Stylesheet can only be instantiated from a SAC CSSStyleSheet instance-- this
* would be the output of a SAC-compliant parser after parsing a CSS stream or
* source. A Stylesheet is immutable; after instantiation, you can query the
* origin and the {@link Ruleset}, but not modify either of them.
*
* @author Torbjoern Gannholm
* @author Patrick Wright
*/
public class Stylesheet implements RulesetContainer {
private final String _uri;
/**
* user-agent, user or author from StylesheetInfo
*/
private final int _origin;
private final List _fontFaceRules = new ArrayList<>();
private final List _importRules = new ArrayList<>();
/**
* May contain page rules, media rules or rulesets.
*/
private final List