Package org.zkoss.zss.model.impl

Source Code of org.zkoss.zss.model.impl.JoinFunctionMapper

/* JoinFunctionMapper.java

  Purpose:
   
  Description:
   
  History:
    Apr 7, 2010 12:54:13 PM, Created by henrichen

Copyright (C) 2010 Potix Corporation. All Rights Reserved.

*/

package org.zkoss.zss.model.impl;

import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.List;

import org.zkoss.util.resource.ClassLocator;
import org.zkoss.xel.Function;
import org.zkoss.xel.FunctionMapper;
import org.zkoss.xel.XelException;
import org.zkoss.xel.taglib.Taglib;
import org.zkoss.xel.taglib.Taglibs;

/**
* Aggregate FunctionMapper that join serveral {@link FunctionMapper} together. The first
* added get called first.
* @author henrichen
*
*/
public class JoinFunctionMapper implements FunctionMapper {
  private LinkedHashSet<FunctionMapper> _mappers;
 
  public JoinFunctionMapper(FunctionMapper mapper) {
    _mappers = new LinkedHashSet<FunctionMapper>(4);
    if (mapper != null) {
      addFunctionMapper(mapper);
    }
  }
 
  /* Add a new Function Mapper.
   * @see org.zkoss.zss.model.Book#addFunctionMapper(java.lang.String, org.zkoss.zss.model.FunctionMapper)
   */
  /*package*/ void addFunctionMapper(FunctionMapper mapper) {
    _mappers.add(mapper);
  }

  /* Remove a specified Function Mapper.
   * @see org.zkoss.zss.model.Book#removeFunctionMapper(java.lang.String, org.zkoss.zss.model.FunctionMapper)
   */
  /*package*/ void removeFunctionMapper(FunctionMapper mapper) {
    _mappers.remove(mapper);
  }
 
  //--FunctionMapper--//
  public Collection getClassNames() {
    return new ArrayList<String>(0);
  }


  public Class resolveClass(String name) throws XelException {
    return null;
  }

  @Override
  public Function resolveFunction(String arg0, String arg1) throws XelException {
    for (FunctionMapper mapper : _mappers) {
      final Function fun = mapper.resolveFunction(arg0, arg1);
      if (fun != null) return fun;
    }
    return null;
  }
}
TOP

Related Classes of org.zkoss.zss.model.impl.JoinFunctionMapper

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.