/** * Licensed to the Austrian Association for Software Tool Integration (AASTI) * under one or more contributor license agreements. See the NOTICE file * distributed with this work for additional information regarding copyright * ownership. The AASTI licenses this file to you 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.openengsb.itests.exam.models; import java.util.List; import org.apache.commons.beanutils.MethodUtils; /** * The TestModelDecorator is a helper class for easier working with the TestModel class since it does the java * reflection calls for you on the TestModel object class instance */ public class TestModelDecorator { private final Object model; public TestModelDecorator(Object model) { this.model = model; } public Object getModel() { return model; } public void setName(String name) throws Exception { MethodUtils.invokeMethod(model, "setName", name); } public String getName() throws Exception { return (String) MethodUtils.invokeMethod(model, "getName", null); } public void setField(String field) throws Exception { MethodUtils.invokeMethod(model, "setField", field); } public String getField() throws Exception { return (String) MethodUtils.invokeMethod(model, "getField", null); } public void setEdbId(String edbId) throws Exception { MethodUtils.invokeMethod(model, "setEdbId", edbId); } public String getEdbId() throws Exception { return (String) MethodUtils.invokeMethod(model, "getEdbId", null); } public void setSubModel(Object subModel) throws Exception { MethodUtils.invokeMethod(model, "setSubModel", subModel); } public Object getSubModel() throws Exception { return MethodUtils.invokeMethod(model, "getSubModel", null); } public void setSubs(List<Object> subs) throws Exception { MethodUtils.invokeMethod(model, "setSubs", subs); } @SuppressWarnings("unchecked") public List<Object> getSubs() throws Exception { return (List<Object>) MethodUtils.invokeMethod(model, "getSubs", null); } public void setIds(List<Integer> ids) throws Exception { MethodUtils.invokeMethod(model, "setIds", ids); } @SuppressWarnings("unchecked") public List<Integer> getIds() throws Exception { return (List<Integer>) MethodUtils.invokeMethod(model, "getIds", null); } @SuppressWarnings("unchecked") public List<Object> getChildren() throws Exception { return (List<Object>) MethodUtils.invokeMethod(model, "getChildren", null); } public void setChildren(List<Object> children) throws Exception { MethodUtils.invokeMethod(model, "setChildren", children); } }