Package org.allcolor.css.parser

Source Code of org.allcolor.css.parser.CCSSStyleSheet

/*
* Copyright (C) 2005 by Quentin Anciaux
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Library General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This library 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 Library General Public License
* for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; if not, write to the Free Software Foundation,
* Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*  @author Quentin Anciaux
*/
package org.allcolor.css.parser;
import java.io.Serializable;

import org.allcolor.xml.parser.CStringBuilder;

import org.w3c.dom.DOMException;
import org.w3c.dom.Node;
import org.w3c.dom.css.CSSRule;
import org.w3c.dom.css.CSSRuleList;
import org.w3c.dom.css.CSSStyleSheet;
import org.w3c.dom.stylesheets.MediaList;
import org.w3c.dom.stylesheets.StyleSheet;


/**
* DOCUMENT ME!
*
* @author Quentin Anciaux
*/
public class CCSSStyleSheet
  implements CSSStyleSheet,Serializable {
  static final long serialVersionUID = 2184587778379854885L;

  /** DOCUMENT ME! */
  private CCSSRuleList ruleList = new CCSSRuleList();

  /** DOCUMENT ME! */
  private CSSRule ownerRule = null;

  /** DOCUMENT ME! */
  private MediaList mediaList = null;

  /** DOCUMENT ME! */
  private Node ownerNode = null;

  /** DOCUMENT ME! */
  private String href = "";

  /** DOCUMENT ME! */
  private String title = "";

  /** DOCUMENT ME! */
  private boolean booDisabled = false;

  /**
   * Creates a new CCSSStyleSheet object.
   *
   * @param ownerNode DOCUMENT ME!
   * @param ownerRule DOCUMENT ME!
   * @param booDisabled DOCUMENT ME!
   * @param href DOCUMENT ME!
   * @param title DOCUMENT ME!
   * @param mediaList DOCUMENT ME!
   */
  public CCSSStyleSheet(
    final Node ownerNode,
    final CSSRule ownerRule,
    final boolean booDisabled,
    String href,
    String title,
    final MediaList mediaList) {
    this.ownerNode     = ownerNode;
    this.ownerRule     = ownerRule;
    this.booDisabled     = booDisabled;

    if (href == null) {
      href = "";
    }

    this.href = href;

    if (title == null) {
      title = "";
    }

    this.title       = title;
    this.mediaList     = mediaList;
  } // end CCSSStyleSheet()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.css.CSSStyleSheet#getCssRules()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public CSSRuleList getCssRules() {
    return ruleList;
  } // end getCssRules()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#setDisabled(boolean)
   */
  /**
   * DOCUMENT ME!
   *
   * @param disabled DOCUMENT ME!
   */
  public void setDisabled(final boolean disabled) {
    booDisabled = disabled;
  } // end setDisabled()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getDisabled()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public boolean getDisabled() {
    return booDisabled;
  } // end getDisabled()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getHref()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getHref() {
    return href;
  } // end getHref()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getMedia()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public MediaList getMedia() {
    return mediaList;
  } // end getMedia()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getOwnerNode()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public Node getOwnerNode() {
    return ownerNode;
  } // end getOwnerNode()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.css.CSSStyleSheet#getOwnerRule()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public CSSRule getOwnerRule() {
    return ownerRule;
  } // end getOwnerRule()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getParentStyleSheet()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public StyleSheet getParentStyleSheet() {
    if (ownerRule != null) {
      return ownerRule.getParentStyleSheet();
    }

    return null;
  } // end getParentStyleSheet()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getTitle()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getTitle() {
    return title;
  } // end getTitle()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.stylesheets.StyleSheet#getType()
   */
  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getType() {
    return "text/css";
  } // end getType()

  /**
   * DOCUMENT ME!
   *
   * @param rule DOCUMENT ME!
   */
  public void addRule(final CSSRule rule) {
    ruleList.add(rule);
  } // end addRule()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.css.CSSStyleSheet#deleteRule(int)
   */
  /**
   * DOCUMENT ME!
   *
   * @param index DOCUMENT ME!
   *
   * @throws DOMException DOCUMENT ME!
   */
  public void deleteRule(final int index)
    throws DOMException {
    ruleList.remove(index);
  } // end deleteRule()

  /*
   * (non-Javadoc)
   *
   * @see org.w3c.dom.css.CSSStyleSheet#insertRule(java.lang.String, int)
   */
  /**
   * DOCUMENT ME!
   *
   * @param rule DOCUMENT ME!
   * @param index DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   *
   * @throws DOMException DOCUMENT ME!
   */
  public int insertRule(
    final String rule,
    final int index)
    throws DOMException {
    ruleList.insertAt(index, CCSSParser.parseRule(rule, this, null));

    return index;
  } // end insertRule()

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String toString() {
    CStringBuilder buffer = new CStringBuilder();
    CSSRuleList    list = getCssRules();

    for (int i = 0; i < list.getLength(); i++) {
      buffer.append(list.item(i));
    } // end for

    return buffer.toString();
  } // end toString()
} // end CCSSStyleSheet
TOP

Related Classes of org.allcolor.css.parser.CCSSStyleSheet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.