001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2014 ForgeRock AS. 015 */ 016 017package org.forgerock.openig.alias; 018 019import java.security.KeyStore; 020import java.util.HashMap; 021import java.util.Map; 022 023import javax.net.ssl.KeyManager; 024import javax.net.ssl.TrustManager; 025 026import org.forgerock.openig.audit.monitor.MonitorEndpointHandler; 027import org.forgerock.openig.decoration.capture.CaptureDecorator; 028import org.forgerock.openig.decoration.timer.TimerDecorator; 029import org.forgerock.openig.filter.AssignmentFilter; 030import org.forgerock.openig.filter.CaptureFilter; 031import org.forgerock.openig.filter.Chain; 032import org.forgerock.openig.filter.CookieFilter; 033import org.forgerock.openig.filter.CryptoHeaderFilter; 034import org.forgerock.openig.filter.EntityExtractFilter; 035import org.forgerock.openig.filter.ExceptionFilter; 036import org.forgerock.openig.filter.FileAttributesFilter; 037import org.forgerock.openig.filter.HeaderFilter; 038import org.forgerock.openig.filter.HttpBasicAuthFilter; 039import org.forgerock.openig.filter.LocationHeaderFilter; 040import org.forgerock.openig.filter.ScriptableFilter; 041import org.forgerock.openig.filter.SqlAttributesFilter; 042import org.forgerock.openig.filter.StaticRequestFilter; 043import org.forgerock.openig.filter.SwitchFilter; 044import org.forgerock.openig.handler.ClientHandler; 045import org.forgerock.openig.handler.DispatchHandler; 046import org.forgerock.openig.handler.ScriptableHandler; 047import org.forgerock.openig.handler.SequenceHandler; 048import org.forgerock.openig.handler.StaticResponseHandler; 049import org.forgerock.openig.handler.WelcomeHandler; 050import org.forgerock.openig.handler.router.RouterHandler; 051import org.forgerock.openig.http.HttpClient; 052import org.forgerock.openig.io.TemporaryStorage; 053import org.forgerock.openig.jwt.JwtSessionFactory; 054import org.forgerock.openig.log.ConsoleLogSink; 055import org.forgerock.openig.log.FileLogSink; 056import org.forgerock.openig.log.NullLogSink; 057 058/** 059 * Register all the aliases supported by the {@literal openig-core} module. 060 */ 061public class CoreClassAliasResolver implements ClassAliasResolver { 062 private static final Map<String, Class<?>> ALIASES = new HashMap<String, Class<?>>(); 063 064 static { 065 ALIASES.put("AssignmentFilter", AssignmentFilter.class); 066 ALIASES.put("CaptureFilter", CaptureFilter.class); 067 ALIASES.put("Chain", Chain.class); 068 ALIASES.put("ClientHandler", ClientHandler.class); 069 ALIASES.put("ConsoleLogSink", ConsoleLogSink.class); 070 ALIASES.put("CookieFilter", CookieFilter.class); 071 ALIASES.put("CryptoHeaderFilter", CryptoHeaderFilter.class); 072 ALIASES.put("CaptureDecorator", CaptureDecorator.class); 073 ALIASES.put("DispatchHandler", DispatchHandler.class); 074 ALIASES.put("EntityExtractFilter", EntityExtractFilter.class); 075 ALIASES.put("ExceptionFilter", ExceptionFilter.class); 076 ALIASES.put("FileAttributesFilter", FileAttributesFilter.class); 077 ALIASES.put("FileLogSink", FileLogSink.class); 078 ALIASES.put("HeaderFilter", HeaderFilter.class); 079 ALIASES.put("HttpBasicAuthFilter", HttpBasicAuthFilter.class); 080 ALIASES.put("HttpClient", HttpClient.class); 081 ALIASES.put("JwtSessionFactory", JwtSessionFactory.class); 082 ALIASES.put("JwtSession", JwtSessionFactory.class); 083 ALIASES.put("KeyManager", KeyManager.class); 084 ALIASES.put("KeyStore", KeyStore.class); 085 ALIASES.put("LocationHeaderFilter", LocationHeaderFilter.class); 086 ALIASES.put("MonitorEndpointHandler", MonitorEndpointHandler.class); 087 ALIASES.put("NullLogSink", NullLogSink.class); 088 ALIASES.put("RedirectFilter", LocationHeaderFilter.class); 089 ALIASES.put("Router", RouterHandler.class); 090 ALIASES.put("RouterHandler", RouterHandler.class); 091 ALIASES.put("ScriptableFilter", ScriptableFilter.class); 092 ALIASES.put("ScriptableHandler", ScriptableHandler.class); 093 ALIASES.put("SequenceHandler", SequenceHandler.class); 094 ALIASES.put("SqlAttributesFilter", SqlAttributesFilter.class); 095 ALIASES.put("StaticRequestFilter", StaticRequestFilter.class); 096 ALIASES.put("StaticResponseHandler", StaticResponseHandler.class); 097 ALIASES.put("SwitchFilter", SwitchFilter.class); 098 ALIASES.put("TemporaryStorage", TemporaryStorage.class); 099 ALIASES.put("TimerDecorator", TimerDecorator.class); 100 ALIASES.put("TrustManager", TrustManager.class); 101 ALIASES.put("WelcomeHandler", WelcomeHandler.class); 102 } 103 104 @Override 105 public Class<?> resolve(final String alias) { 106 return ALIASES.get(alias); 107 } 108}