001/** 002 * Copyright 2013 John Ericksen 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.androidtransfuse.plugins; 017 018import org.androidtransfuse.ConfigurationRepository; 019import org.androidtransfuse.TransfusePlugin; 020import org.androidtransfuse.annotations.*; 021import org.androidtransfuse.bootstrap.Bootstrap; 022import org.androidtransfuse.listeners.ServiceOnStartCommand; 023import org.androidtransfuse.listeners.ServiceOnUnbind; 024import org.androidtransfuse.util.AndroidLiterals; 025 026/** 027 * @author John Ericksen 028 */ 029@Bootstrap 030public class ServicePlugin implements TransfusePlugin{ 031 @Override 032 public void run(ConfigurationRepository repository) { 033 repository.component(Service.class).method("onCreate").event(OnCreate.class).registration().superCall(); 034 repository.component(Service.class).method("onDestroy").event(OnDestroy.class).superCall(); 035 repository.component(Service.class).method("onLowMemory").event(OnLowMemory.class).superCall(); 036 repository.component(Service.class).method("onRebind", AndroidLiterals.INTENT).event(OnRebind.class).superCall(); 037 repository.component(Service.class).method("onConfigurationChanged", AndroidLiterals.CONTENT_CONFIGURATION).event(OnConfigurationChanged.class).superCall(); 038 repository.component(Service.class).extending(AndroidLiterals.INTENT_SERVICE) 039 .method("onHandleIntent", AndroidLiterals.INTENT).event(OnHandleIntent.class).superCall(); 040 041 repository.component(Service.class).callThroughEvent(ServiceOnStartCommand.class); 042 repository.component(Service.class).callThroughEvent(ServiceOnUnbind.class); 043 } 044}