/** * Copyright (c) 2009-2011 VMware, Inc. All Rights Reserved. * * 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 com.springsource.insight.plugin.quartz.scheduler; import com.springsource.insight.util.logging.InsightLogManager; import com.springsource.insight.util.logging.InsightLogger; import com.springsource.insight.util.props.BeanPropertiesSource; /** * */ public abstract class AbstractQuartzValueAccessor extends BeanPropertiesSource { protected final InsightLogger logger = InsightLogManager.getLogger(getClass().getName()); protected AbstractQuartzValueAccessor(String beanClass) { super(beanClass, QuartzSchedulerDefinitions.class, true); } @Override public <T> T getProperty(Object target, String name, Class<T> attrType) { if (target == null) { return null; } try { return super.getProperty(target, name, attrType); } catch (Exception e) { logger.warning("getProperty(" + getBeanClass().getSimpleName() + "@" + name + ")" + "[" + attrType.getSimpleName() + "]" + " failed (" + e.getClass().getSimpleName() + ")" + " to retrieve: " + e.getMessage()); return null; } } }