package com.rayo.core;
import javax.media.mscontrol.join.Joinable.Direction;
import javax.validation.constraints.NotNull;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import com.rayo.core.validation.Messages;
import com.voxeo.moho.Participant.JoinType;
public class JoinCommand extends AbstractCallCommand {
//TODO: MOHO-61
public class JoinGroup{
// dummy class used to synchronize complex tasks across the whole joint call
}
public static final String MEDIA_TYPE = "MEDIA_TYPE";
public static final String DIRECTION = "DIRECTION";
public static final String TO = "TO";
public static final String TYPE = "TYPE";
public static final String FORCE = "FORCE";
private Direction direction = Direction.DUPLEX;
private JoinType media = JoinType.BRIDGE_SHARED;
private Boolean force;
@NotNull(message=Messages.MISSING_JOIN_ID)
private String to;
private JoinDestinationType type;
private JoinGroup joinGroup;
public JoinCommand() {
this.joinGroup = new JoinGroup();
}
public Direction getDirection() {
return direction;
}
public void setDirection(Direction direction) {
this.direction = direction;
}
public JoinType getMedia() {
return media;
}
public void setMedia(JoinType media) {
this.media = media;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public void setType(JoinDestinationType type) {
this.type = type;
}
public JoinDestinationType getType() {
return type;
}
public Boolean getForce() {
return force;
}
public void setForce(Boolean force) {
this.force = force;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
.append("callId", getCallId())
.append("direction", direction).append("media", media)
.append("to",to)
.append("type", type).toString();
}
public JoinGroup getJoinGroup() {
return joinGroup;
}
public void setJoinGroup(JoinGroup joinGroup) {
this.joinGroup = joinGroup;
}
}