All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.nill14.utils.init.binding.target.LinkedBindingTarget Maven / Gradle / Ivy

package com.github.nill14.utils.init.binding.target;

import com.github.nill14.utils.init.api.BindingKey;
import com.github.nill14.utils.init.binding.impl.BindingTarget;
import com.github.nill14.utils.init.binding.impl.BindingTargetVisitor;

public class LinkedBindingTarget implements BindingTarget {
	
	private final BindingKey targetType;

	public static  LinkedBindingTarget create(BindingKey targetType) {
		return new LinkedBindingTarget<>(targetType);
	}
	
	public LinkedBindingTarget(BindingKey targetType) {
		this.targetType = targetType;
	}
	
	public BindingKey getBindingKey() {
		return targetType;
	}
	
	@Override
	public  R accept(BindingTargetVisitor bindingTargetVisitor) {
		return bindingTargetVisitor.visit(this);
	}
	

	@Override
	public String toString() {
		return String.format("LinkedBindingTarget(%s)", targetType.getRawType().getSimpleName());
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy