com.backendless.messaging.DeliveryOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons Show documentation
Show all versions of commons Show documentation
Commons lib for both server and client Java/Android SDKs
The newest version!
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