Package er.pdf.components

Source Code of er.pdf.components.UJACResource

package er.pdf.components;

import com.webobjects.appserver.WOApplication;
import com.webobjects.appserver.WOAssociation;
import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.appserver.WOElement;
import com.webobjects.appserver.WOResourceManager;
import com.webobjects.appserver.WOResponse;
import com.webobjects.appserver._private.WODynamicElementCreationException;
import com.webobjects.appserver._private.WOHTMLDynamicElement;
import com.webobjects.foundation.NSDictionary;

/**
* UJAC resource component with resource manager support
* @binding href href to the icon
* @binding filename filename of the icon
* @binding framework framework of the icon
* @author q
*/
public abstract class UJACResource extends WOHTMLDynamicElement {

  protected WOAssociation _source;
  protected WOAssociation _framework;

  public UJACResource(String name, NSDictionary<String, WOAssociation> associations, WOElement template) {
    super(name, associations, template);
    _source = _associations.removeObjectForKey("source");
    _framework = _associations.removeObjectForKey("framework");
    if(_source == null) {
      throw new WODynamicElementCreationException("'source' must be bound: " + this);
    }
  }

  @Override
  public void appendAttributesToResponse(WOResponse response, WOContext context) {
    WOComponent component = context.component();
    String href = (String)_source.valueInComponent(component);

    String framework = "app";
    if(_framework != null) {
      Object val = _framework.valueInComponent(component);
      if(val != null) {
        framework = val.toString();
      }
    }
   
    WOResourceManager rs = WOApplication.application().resourceManager();
    if (!href.startsWith("http://") && !href.startsWith("https://"))
      href = rs.urlForResourceNamed(href, framework, null, context.request());
    response._appendTagAttributeAndValue("source", href, false);
    super.appendAttributesToResponse(response, context);
  }
 
}
TOP

Related Classes of er.pdf.components.UJACResource

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.