001 package com.hammurapi.config.runtime;
002
003 import java.util.HashSet;
004 import java.util.Set;
005
006 /**
007 * Property injection parameter class.
008 * @author Pavel Vlasov
009 *
010 */
011 public class InjectionConfig extends FactoryConfig {
012
013 private Set<String> alreadyInjected = new HashSet<String>();
014 private Object target;
015
016 /**
017 * Sets injection target.
018 * @param target Injection target.
019 */
020 public void setTarget(Object target) {
021 this.target = target;
022 }
023
024 /**
025 * @return Injection target.
026 */
027 public Object getTarget() {
028 return target;
029 }
030
031 /**
032 * @return Names of properties already injected by lower profiles.
033 */
034 public Set<String> getAlreadyInjected() {
035 return alreadyInjected;
036 }
037
038 /**
039 * @param alreadyInjected Names of properties already injected by lower profiles.
040 */
041 public void setAlreadyInjected(Set<String> alreadyInjected) {
042 this.alreadyInjected = alreadyInjected;
043 }
044
045 public InjectionConfig() {
046
047 }
048
049 private DestroyableSink destroyableSink;
050
051 public DestroyableSink getDestroyableSink() {
052 return destroyableSink;
053 }
054
055 public void setDestroyableSink(DestroyableSink destroyableSink) {
056 this.destroyableSink = destroyableSink;
057 }
058
059 public InjectionConfig(FactoryConfig factoryConfig, DestroyableSink destroyableSink) {
060 setContextUrl(factoryConfig.getContextUrl());
061 setClassLoader(factoryConfig.getClassLoader());
062 setTokenSource(factoryConfig.getTokenSource());
063 setContext(factoryConfig.getContext());
064 setProfilePath(factoryConfig.getProfilePath());
065 setContextFactory(factoryConfig.getContextFactory());
066 setObjectPath(factoryConfig.getObjectPath());
067 this.destroyableSink = destroyableSink;
068 }
069
070 }