X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FObjectConfiguration.java;fp=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FObjectConfiguration.java;h=e6f647a0457a98d2869ed951a8519a2b180b9fd7;hb=b2c41b5ad0368ce28715001b6a06381b9eaf7c49;hp=0000000000000000000000000000000000000000;hpb=370665c0e3ee47aa84858ced493cd8b2dbb2811e;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/adapters/ObjectConfiguration.java b/system/general/src/main/java/org/wamblee/system/adapters/ObjectConfiguration.java new file mode 100644 index 00000000..e6f647a0 --- /dev/null +++ b/system/general/src/main/java/org/wamblee/system/adapters/ObjectConfiguration.java @@ -0,0 +1,56 @@ +/* + * Copyright 2008 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.wamblee.system.adapters; + +import java.util.ArrayList; +import java.util.List; + +import org.wamblee.system.core.RequiredInterface; +import org.wamblee.system.core.Scope; + +/** + * General configuration for an instantiated object. + * + * @author Erik Brakkee + */ +public class ObjectConfiguration { + + private Class _class; + private SetterConfiguration _setterConfig; + + public ObjectConfiguration(Class aClass) { + _class = aClass; + _setterConfig = new SetterConfiguration(aClass); + } + + public void inject(Scope aScope, Object aObject) { + _setterConfig.inject(aScope, aObject); + } + + public SetterConfiguration getSetterConfig() { + return _setterConfig; + } + + public List getRequiredInterfaces() { + List result = new ArrayList(); + result.addAll(_setterConfig.getRequiredInterfaces()); + return result; + } + + public boolean appliesTo(Object aObject) { + return _class.isInstance(aObject); + } +}