/* $$ Clover has instrumented this file $$ */// Copyright 2004 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.tapestry.bean;
import java.util.Map;
import ognl.ObjectPropertyAccessor;
import ognl.OgnlException;
import org.apache.tapestry.IBeanProvider;
/**
* Adapts a {@link org.apache.tapestry.IBeanProvider} to
* <a href="http://www.ognl.org">OGNL</a> by exposing the named
* beans provided by the provider as read-only properties of
* the provider.
*
* <p>This is registered by {@link org.apache.tapestry.AbstractComponent}.
*
* @author Howard Lewis Ship
* @since 2.2
*
**/
public class BeanProviderPropertyAccessor extends ObjectPropertyAccessor
{public static com.cortexeb.tools.clover.d __CLOVER_43_0 = com.cortexeb.tools.clover.aq.getRecorder(new char[] {67,58,92,119,111,114,107,115,112,97,99,101,92,106,97,107,97,114,116,97,45,116,97,112,101,115,116,114,121,92,102,114,97,109,101,119,111,114,107,92,116,97,114,103,101,116,92,99,108,111,118,101,114,45,100,98},1096998272901L);
/**
* Checks to see if the name matches the name of a bean inside
* the provider and returns that bean if so.
* Otherwise, invokes the super implementation.
*
**/
public Object getProperty(Map context, Object target, Object name) throws OgnlException
{try { __CLOVER_43_0.M[269]++;
__CLOVER_43_0.S[1083]++;IBeanProvider provider = (IBeanProvider)target;
__CLOVER_43_0.S[1084]++;String beanName = (String)name;
__CLOVER_43_0.S[1085]++;if ((((provider.canProvideBean(beanName)) && (++__CLOVER_43_0.CT[213] != 0)) || (++__CLOVER_43_0.CF[213] == 0))){
__CLOVER_43_0.S[1086]++;return provider.getBean(beanName);}
__CLOVER_43_0.S[1087]++;return super.getProperty(context, target, name);
} finally { }}
/**
* Returns true if the name matches a bean provided by the provider.
* Otherwise invokes the super implementation.
*
**/
public boolean hasGetProperty(Map context, Object target, Object oname) throws OgnlException
{try { __CLOVER_43_0.M[270]++;
__CLOVER_43_0.S[1088]++;IBeanProvider provider = (IBeanProvider)target;
__CLOVER_43_0.S[1089]++;String beanName = (String)oname;
__CLOVER_43_0.S[1090]++;if ((((provider.canProvideBean(beanName)) && (++__CLOVER_43_0.CT[214] != 0)) || (++__CLOVER_43_0.CF[214] == 0))){
__CLOVER_43_0.S[1091]++;return true;}
__CLOVER_43_0.S[1092]++;return super.hasGetProperty(context, target, oname);
} finally { }}
}