com.backendless.messaging.DeliveryOptions Maven / Gradle / Ivy
package com.backendless.messaging;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class DeliveryOptions
{
// the value is a mask
private int pushBroadcast;
private List pushSinglecast = new ArrayList();
private String segmentQuery;
private PublishPolicyEnum publishPolicy = PublishPolicyEnum.BOTH;
// time values in GMT
private Date publishAt;
private long repeatEvery;
private Date repeatExpiresAt;
public DeliveryOptions()
{ }
public DeliveryOptions( PublishMessageInfo info )
{
this.pushBroadcast = PushBroadcastMask.toIntMask( info.getPushBroadcast() );
this.segmentQuery = info.getQuery();
if ( info.getPublishAt() > 0 )
this.publishAt = new Date( info.getPublishAt() );
if ( info.getRepeatEvery() > 0 )
this.repeatEvery = info.getRepeatEvery();
if ( info.getRepeatExpiresAt() > 0 )
this.repeatExpiresAt = new Date( info.getRepeatExpiresAt() );
if ( info.getPushSinglecast() != null && info.getPushSinglecast().size() > 0 )
this.pushSinglecast = info.getPushSinglecast();
if ( info.getPublishPolicy() != null )
{
try
{
this.publishPolicy = PublishPolicyEnum.valueOf( info.getPublishPolicy().toUpperCase() );
}
catch( IllegalArgumentException e )
{
this.publishPolicy = PublishPolicyEnum.BOTH;
}
}
}
public int getPushBroadcast()
{
return pushBroadcast;
}
public DeliveryOptions setPushBroadcast( int pushBroadcast )
{
this.pushBroadcast = pushBroadcast;
return this;
}
public List getPushSinglecast()
{
return pushSinglecast;
}
public DeliveryOptions setPushSinglecast( List pushSinglecast )
{
if( pushSinglecast != null )
this.pushSinglecast = pushSinglecast;
return this;
}
public PublishPolicyEnum getPublishPolicy()
{
return publishPolicy;
}
public DeliveryOptions setPublishPolicy( PublishPolicyEnum publishPolicy )
{
if( publishPolicy != null )
this.publishPolicy = publishPolicy;
return this;
}
public Date getPublishAt()
{
return publishAt;
}
public DeliveryOptions setPublishAt( Date publishAt )
{
this.publishAt = publishAt;
return this;
}
public long getRepeatEvery()
{
return repeatEvery;
}
public DeliveryOptions setRepeatEvery( long repeatEvery )
{
this.repeatEvery = repeatEvery;
return this;
}
public Date getRepeatExpiresAt()
{
return repeatExpiresAt;
}
public DeliveryOptions setRepeatExpiresAt( Date repeatExpiresAt )
{
this.repeatExpiresAt = repeatExpiresAt;
return this;
}
public String getSegmentQuery()
{
return segmentQuery;
}
public DeliveryOptions setSegmentQuery( String segmentQuery )
{
this.segmentQuery = segmentQuery;
return this;
}
@Override
public String toString()
{
return "DeliveryOptions{" +
"pushBroadcast=" + pushBroadcast +
", pushSinglecast=" + pushSinglecast +
", publishPolicy=" + publishPolicy +
", publishAt=" + publishAt +
", repeatEvery=" + repeatEvery +
", repeatExpiresAt=" + repeatExpiresAt +
'}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy