Package com.webobjects.woextensions

Source Code of com.webobjects.woextensions.JSComponent

/*
* JSComponent.java
* (c) Copyright 2001 Apple Computer, Inc. All rights reserved.
* This a modified version.
* Original license: http://www.opensource.apple.com/apsl/
*/

package com.webobjects.woextensions;

import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.foundation.NSArray;


/**
* <span class="ja">
*  このパッケージ内の Javascript のスーパークラス
* </span>
*/
public abstract class JSComponent extends WOComponent {
  /**
   * 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 JSComponent(WOContext aContext)  {
        super(aContext);
    }

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

  /** <span class="ja">フレームワーク</span> */
    public String framework() {
        String aFramework = (String)_WOJExtensionsUtil.valueForBindingOrNull("framework",this);
        if ((aFramework != null) && aFramework.equalsIgnoreCase("app"))
            aFramework=null;
        return aFramework;
    }

  /** <span class="ja">イメージ・ロケーション</span> */
    public String imageLocation() {

           // Return the image source (SRC) location ...
        String aFilename = (String)_WOJExtensionsUtil.valueForBindingOrNull("filename",this);

        return application(). resourceManager(). urlForResourceNamed( aFilename, framework(), session().languages(), context().request());

    }

  /** <span class="ja">アクションURL</span> */
    public String contextComponentActionURL() {

        // If the user specified an action or pageName, return the source URL
        if (hasBinding("action") || (valueForBinding("pageName")!=null)) {

            // Return the URL to the action or page placed in the context by invokeAction
            return context().componentActionURL();

        }

        // If the user specified some javascript, put that into the HREF and return it
        String theFunction = (String)_WOJExtensionsUtil.valueForBindingOrNull("javascriptFunction",this);
        if (theFunction!=null) {

            // Make sure there are no extra quotations marks - replace them with apostrophes
            theFunction = NSArray.componentsSeparatedByString(theFunction, "\""). componentsJoinedByString("'");

            // Return the javascript HREF of what the user passed
            return "javascript:"+theFunction;
        }
        return null;


    }

  /**
     * <span class="ja">アクション実行</span>
     */
    public WOComponent invokeAction() {

            // Set the result of the link, either an action from the parent or a page
            WOComponent anActionResult = (WOComponent)_WOJExtensionsUtil.valueForBindingOrNull("action",this);

            if ((anActionResult==null) && hasBinding("pageName")) {
                    String aPageName = (String)_WOJExtensionsUtil.valueForBindingOrNull("pageName",this);
                    anActionResult = pageWithName(aPageName);
            }

            return anActionResult;
    }
}
TOP

Related Classes of com.webobjects.woextensions.JSComponent

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.