Package er.attachment.components

Source Code of er.attachment.components.ERAttachmentIcon

package er.attachment.components;

import com.webobjects.appserver.WOContext;

import er.attachment.model.ERAttachment;
import er.attachment.processors.ERAttachmentProcessor;
import er.attachment.utils.ERMimeType;
import er.extensions.components.ERXStatelessComponent;

/**
* ERAttachmentIcon displays a linked icon image that represents the file
* type of the attachment.
* @author mschrag
* @binding size the icon size - 16, 32, or 64
* @binding attachment the attachment to display
* @binding configurationName (optional) the configuration name for this attachment (see top level documentation)
* @binding target (optional) specifies where to open the linked attachment
*/
public class ERAttachmentIcon extends ERXStatelessComponent {
  /**
   * Do I need to update serialVersionUID?
   * See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the
   * <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a>
   */
  private static final long serialVersionUID = 1L;

  public ERAttachmentIcon(WOContext context) {
    super(context);
  }

  public ERAttachment attachment() {
    return (ERAttachment) valueForBinding("attachment");
  }

  public String attachmentUrl() {
    WOContext context = context();
    ERAttachment attachment = attachment();
    return ERAttachmentProcessor.processorForType(attachment).attachmentUrl(attachment, context.request(), context);
  }

  public String iconPath() {
    return ERAttachmentIcon.iconPath(attachment(), valueForBinding("size"));
  }

  public static String iconPath(ERAttachment attachment, Object size) {
    String sizeStr = "16";
    if (size != null) {
      sizeStr = size.toString();
    }
    ERMimeType erMimeType = null;
    if (attachment != null) {
      erMimeType = attachment.erMimeType();
    }
    String mimeType;
    if (erMimeType == null) {
      mimeType = "application/x-octet-stream";
    }
    else {
      mimeType = erMimeType.mimeType();
    }
    String iconPath = "icons/" + sizeStr + "/" + mimeType + ".png";
    return iconPath;
  }

  @Override
  public boolean synchronizesVariablesWithBindings() {
    return false;
  }
}
TOP

Related Classes of er.attachment.components.ERAttachmentIcon

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.