/**
* Copyright (C) 2014 cherimojava (http://github.com/cherimojava/orchidae) 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.github.cherimojava.orchidae.config;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.reflections.scanners.TypeAnnotationsScanner;
import org.reflections.util.ClasspathHelper;
import org.reflections.util.ConfigurationBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.cherimojava.orchidae.api.hook.Hook;
import com.github.cherimojava.orchidae.hook.HookHandler;
/**
* Hook related configurations
*
* @author philnate
*/
@Configuration
public class cfgHooks
{
@Bean
public HookHandler hookHandler( org.reflections.Configuration config, URL pluginURL )
{
return new HookHandler( config, pluginURL );
}
@Bean
public org.reflections.Configuration config()
{
return new ConfigurationBuilder().setScanners( new TypeAnnotationsScanner() )
.setUrls( ClasspathHelper.forPackage( Hook.class.getPackage().getName() ) );
}
@Bean
public URL pluginURL()
throws MalformedURLException
{
return new File( "./plugins" ).toURI().toURL();
}
}