/**
* 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.core.api.remote;
import java.util.UUID;
import javax.xml.bind.annotation.XmlRootElement;
import org.openengsb.core.api.model.BeanDescription;
/**
* Container for sending {@link MethodCall}s to remote destinations. It contains the necessary routing- and
* security-information.
*/
@XmlRootElement
public class MethodCallMessage extends MessageBase {
private static final long serialVersionUID = -484867025274841475L;
private MethodCall methodCall;
private boolean answer;
private String destination;
private String principal;
private BeanDescription credentials;
public MethodCallMessage() {
}
public MethodCallMessage(MethodCall methodCall) {
this(methodCall, UUID.randomUUID().toString());
}
public MethodCallMessage(MethodCall methodCall, String callId) {
this(methodCall, callId, true);
}
public MethodCallMessage(MethodCall methodCall, boolean answer) {
this(methodCall, UUID.randomUUID().toString(), answer);
}
public MethodCallMessage(MethodCall methodCall, String callId, boolean answer) {
super(callId);
this.methodCall = methodCall;
this.answer = answer;
}
public MethodCall getMethodCall() {
return methodCall;
}
public void setMethodCall(MethodCall methodCall) {
this.methodCall = methodCall;
}
public boolean isAnswer() {
return answer;
}
public void setAnswer(boolean answer) {
this.answer = answer;
}
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
public String getPrincipal() {
return principal;
}
public void setPrincipal(String principal) {
this.principal = principal;
}
public BeanDescription getCredentials() {
return credentials;
}
public void setCredentials(BeanDescription credentials) {
this.credentials = credentials;
}
}