org.xhtmlrenderer.context.StandardAttributeResolver Maven / Gradle / Ivy
/*
* {{{ header & license
* Copyright (c) 2004, 2005 Torbj?rn 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 org.xhtmlrenderer.context;
import org.w3c.dom.Element;
import org.xhtmlrenderer.css.extend.AttributeResolver;
import org.xhtmlrenderer.extend.NamespaceHandler;
import org.xhtmlrenderer.extend.UserAgentCallback;
import org.xhtmlrenderer.extend.UserInterface;
/**
* An instance which works together with a w3c DOM tree
*
* @author Torbj?rn Gannholm
*/
public class StandardAttributeResolver implements AttributeResolver {
/**
* Description of the Field
*/
private NamespaceHandler nsh;
/**
* Description of the Field
*/
private UserAgentCallback uac;
/**
* Description of the Field
*/
private UserInterface ui;
/**
* Constructor for the StandardAttributeResolver object
*
* @param nsh PARAM
* @param uac PARAM
* @param ui PARAM
*/
public StandardAttributeResolver(NamespaceHandler nsh, UserAgentCallback uac, UserInterface ui) {
this.nsh = nsh;
this.uac = uac;
this.ui = ui;
}
/**
* Gets the attributeValue attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @param attrName PARAM
* @return The attributeValue value
*/
public String getAttributeValue(Object e, String attrName) {
return nsh.getAttributeValue((Element) e, attrName);
}
public String getAttributeValue(Object e, String namespaceURI, String attrName) {
return nsh.getAttributeValue((Element)e, namespaceURI, attrName);
}
/**
* Gets the class attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The class value
*/
public String getClass(Object e) {
return nsh.getClass((Element) e);
}
/**
* Gets the iD attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The iD value
*/
public String getID(Object e) {
return nsh.getID((Element) e);
}
public String getNonCssStyling(Object e) {
return nsh.getNonCssStyling((Element) e);
}
/**
* Gets the elementStyling attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The elementStyling value
*/
public String getElementStyling(Object e) {
return nsh.getElementStyling((Element) e);
}
/**
* Gets the lang attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The lang value
*/
public String getLang(Object e) {
return nsh.getLang((Element) e);
}
/**
* Gets the link attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The link value
*/
public boolean isLink(Object e) {
return nsh.getLinkUri((Element) e) != null;
}
/**
* Gets the visited attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The visited value
*/
public boolean isVisited(Object e) {
return isLink(e) && uac.isVisited(nsh.getLinkUri((Element) e));
}
/**
* Gets the hover attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The hover value
*/
public boolean isHover(Object e) {
return ui.isHover((Element) e);
}
/**
* Gets the active attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The active value
*/
public boolean isActive(Object e) {
return ui.isActive((Element) e);
}
/**
* Gets the focus attribute of the StandardAttributeResolver object
*
* @param e PARAM
* @return The focus value
*/
public boolean isFocus(Object e) {
return ui.isFocus((Element) e);
}
}