/******************************************************************************* * Copyright (c) 2014 IBH SYSTEMS GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBH SYSTEMS GmbH - initial API and implementation *******************************************************************************/ package org.eclipse.packagedrone.web.controller.binding; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.eclipse.packagedrone.utils.converter.ConverterManager; public interface Binder { /** * Marks a method of the binder as initializer * <p> * Before calling * {@link Binder#performBind(BindTarget, ConverterManager, BindingManager)} * the binding manager will call methods marked with {@link Initializer} * with the current binding manager state. * </p> * <p> * <em>Note:</em> The initializer methods will get called when adding the * binder to the manager. It is not guaranteed that the method * {@link Binder#performBind(BindTarget, ConverterManager, BindingManager)} * will be called afterwards. * </p> */ @Retention ( RetentionPolicy.RUNTIME ) @Target ( ElementType.METHOD ) public @interface Initializer { } public Binding performBind ( BindTarget target, ConverterManager converter, BindingManager bindingManager ); }