/* * Mobicents, Communications Middleware * * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contributions are * distributed under license by Red Hat Middleware LLC. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * * Boston, MA 02110-1301 USA */ package org.mobicents.slee.resource.diameter.ro.events.avp; import java.util.Date; import net.java.slee.resource.diameter.ro.events.avp.Adaptations; import net.java.slee.resource.diameter.ro.events.avp.ContentClass; import net.java.slee.resource.diameter.ro.events.avp.DeliveryReportRequested; import net.java.slee.resource.diameter.ro.events.avp.DrmContent; import net.java.slee.resource.diameter.ro.events.avp.MessageClass; import net.java.slee.resource.diameter.ro.events.avp.MessageType; import net.java.slee.resource.diameter.ro.events.avp.MmContentType; import net.java.slee.resource.diameter.ro.events.avp.MmsInformation; import net.java.slee.resource.diameter.ro.events.avp.OriginatorAddress; import net.java.slee.resource.diameter.ro.events.avp.Priority; import net.java.slee.resource.diameter.ro.events.avp.ReadReplyReportRequested; import net.java.slee.resource.diameter.ro.events.avp.RecipientAddress; import org.mobicents.slee.resource.diameter.base.events.avp.GroupedAvpImpl; /** * MmsInformationImpl.java * * <br>Project: mobicents * <br>9:33:22 AM Apr 13, 2009 * <br> * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a> */ public class MmsInformationImpl extends GroupedAvpImpl implements MmsInformation { /** * @param code * @param vendorId * @param mnd * @param prt * @param value */ public MmsInformationImpl( int code, long vendorId, int mnd, int prt, byte[] value ) { super( code, vendorId, mnd, prt, value ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getAdaptations() */ public Adaptations getAdaptations() { return (Adaptations) getAvpAsEnumerated(DiameterRoAvpCodes.ADAPTATIONS, DiameterRoAvpCodes.TGPP_VENDOR_ID, Adaptations.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getApplicId() */ public String getApplicId() { return getAvpAsUTF8String(DiameterRoAvpCodes.APPLIC_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getAuxApplicInfo() */ public String getAuxApplicInfo() { return getAvpAsUTF8String(DiameterRoAvpCodes.AUX_APPLIC_INFO, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getContentClass() */ public ContentClass getContentClass() { return (ContentClass) getAvpAsEnumerated(DiameterRoAvpCodes.CONTENT_CLASS, DiameterRoAvpCodes.TGPP_VENDOR_ID, ContentClass.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getDeliveryReportRequested() */ public DeliveryReportRequested getDeliveryReportRequested() { return (DeliveryReportRequested) getAvpAsEnumerated(DiameterRoAvpCodes.DELIVERY_REPORT_REQUESTED, DiameterRoAvpCodes.TGPP_VENDOR_ID, DeliveryReportRequested.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getDrmContent() */ public DrmContent getDrmContent() { return (DrmContent) getAvpAsEnumerated(DiameterRoAvpCodes.DRM_CONTENT, DiameterRoAvpCodes.TGPP_VENDOR_ID, DrmContent.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getMessageClass() */ public MessageClass getMessageClass() { return (MessageClass) getAvpAsCustom(DiameterRoAvpCodes.MESSAGE_CLASS, DiameterRoAvpCodes.TGPP_VENDOR_ID, MessageClassImpl.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getMessageId() */ public String getMessageId() { return getAvpAsUTF8String(DiameterRoAvpCodes.MESSAGE_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getMessageSize() */ public long getMessageSize() { return getAvpAsUnsigned32(DiameterRoAvpCodes.MESSAGE_SIZE, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getMessageType() */ public MessageType getMessageType() { return (MessageType) getAvpAsEnumerated(DiameterRoAvpCodes.MESSAGE_TYPE, DiameterRoAvpCodes.TGPP_VENDOR_ID, MessageType.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getMmContentType() */ public MmContentType getMmContentType() { return (MmContentType) getAvpAsCustom(DiameterRoAvpCodes.MM_CONTENT_TYPE, DiameterRoAvpCodes.TGPP_VENDOR_ID, MmContentTypeImpl.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getOriginatorAddress() */ public OriginatorAddress getOriginatorAddress() { return (OriginatorAddress) getAvpAsCustom(DiameterRoAvpCodes.ORIGINATOR_ADDRESS, DiameterRoAvpCodes.TGPP_VENDOR_ID, OriginatorAddressImpl.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getPriority() */ public Priority getPriority() { return (Priority) getAvpAsEnumerated(DiameterRoAvpCodes.PRIORITY, DiameterRoAvpCodes.TGPP_VENDOR_ID, Priority.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getReadReplyReportRequested() */ public ReadReplyReportRequested getReadReplyReportRequested() { return (ReadReplyReportRequested) getAvpAsEnumerated(DiameterRoAvpCodes.READ_REPLY_REPORT_REQUESTED, DiameterRoAvpCodes.TGPP_VENDOR_ID, ReadReplyReportRequested.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getRecipientAddresses() */ public RecipientAddress[] getRecipientAddresses() { return (RecipientAddress[]) getAvpAsCustom(DiameterRoAvpCodes.RECIPIENT_ADDRESS, DiameterRoAvpCodes.TGPP_VENDOR_ID, RecipientAddressImpl.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getReplyApplicId() */ public String getReplyApplicId() { return getAvpAsUTF8String(DiameterRoAvpCodes.REPLY_APPLIC_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getSubmissionTime() */ public Date getSubmissionTime() { return getAvpAsTime(DiameterRoAvpCodes.SUBMISSION_TIME, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getVasId() */ public String getVasId() { return getAvpAsUTF8String(DiameterRoAvpCodes.VAS_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#getVaspId() */ public String getVaspId() { return getAvpAsUTF8String(DiameterRoAvpCodes.VASP_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasAdaptations() */ public boolean hasAdaptations() { return hasAvp( DiameterRoAvpCodes.ADAPTATIONS, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasApplicId() */ public boolean hasApplicId() { return hasAvp( DiameterRoAvpCodes.APPLIC_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasAuxApplicInfo() */ public boolean hasAuxApplicInfo() { return hasAvp( DiameterRoAvpCodes.AUX_APPLIC_INFO, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasContentClass() */ public boolean hasContentClass() { return hasAvp( DiameterRoAvpCodes.CONTENT_CLASS, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasDeliveryReportRequested() */ public boolean hasDeliveryReportRequested() { return hasAvp( DiameterRoAvpCodes.DELIVERY_REPORT_REQUESTED, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasDrmContent() */ public boolean hasDrmContent() { return hasAvp( DiameterRoAvpCodes.DRM_CONTENT, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasMessageClass() */ public boolean hasMessageClass() { return hasAvp( DiameterRoAvpCodes.MESSAGE_CLASS, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasMessageId() */ public boolean hasMessageId() { return hasAvp( DiameterRoAvpCodes.MESSAGE_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasMessageSize() */ public boolean hasMessageSize() { return hasAvp( DiameterRoAvpCodes.MESSAGE_SIZE, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasMessageType() */ public boolean hasMessageType() { return hasAvp( DiameterRoAvpCodes.MESSAGE_TYPE, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasMmContentType() */ public boolean hasMmContentType() { return hasAvp( DiameterRoAvpCodes.MM_CONTENT_TYPE, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasOriginatorAddress() */ public boolean hasOriginatorAddress() { return hasAvp( DiameterRoAvpCodes.ORIGINATOR_ADDRESS, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasPriority() */ public boolean hasPriority() { return hasAvp( DiameterRoAvpCodes.PRIORITY, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasReadReplyReportRequested() */ public boolean hasReadReplyReportRequested() { return hasAvp( DiameterRoAvpCodes.READ_REPLY_REPORT_REQUESTED, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasReplyApplicId() */ public boolean hasReplyApplicId() { return hasAvp( DiameterRoAvpCodes.REPLY_APPLIC_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasSubmissionTime() */ public boolean hasSubmissionTime() { return hasAvp( DiameterRoAvpCodes.SUBMISSION_TIME, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasVasId() */ public boolean hasVasId() { return hasAvp( DiameterRoAvpCodes.VAS_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#hasVaspId() */ public boolean hasVaspId() { return hasAvp( DiameterRoAvpCodes.VASP_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID ); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setAdaptations(net.java.slee.resource.diameter.ro.events.avp.Adaptations) */ public void setAdaptations( Adaptations adaptations ) { addAvp(DiameterRoAvpCodes.ADAPTATIONS, DiameterRoAvpCodes.TGPP_VENDOR_ID, adaptations.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setApplicId(java.lang.String) */ public void setApplicId( String applicId ) { addAvp(DiameterRoAvpCodes.APPLIC_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID, applicId); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setAuxApplicInfo(java.lang.String) */ public void setAuxApplicInfo( String auxApplicInfo ) { addAvp(DiameterRoAvpCodes.AUX_APPLIC_INFO, DiameterRoAvpCodes.TGPP_VENDOR_ID, auxApplicInfo); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setContentClass(net.java.slee.resource.diameter.ro.events.avp.ContentClass) */ public void setContentClass( ContentClass contentClass ) { addAvp(DiameterRoAvpCodes.CONTENT_CLASS, DiameterRoAvpCodes.TGPP_VENDOR_ID, contentClass.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setDeliveryReportRequested(net.java.slee.resource.diameter.ro.events.avp.DeliveryReportRequested) */ public void setDeliveryReportRequested( DeliveryReportRequested deliveryReportRequested ) { addAvp(DiameterRoAvpCodes.DELIVERY_REPORT_REQUESTED, DiameterRoAvpCodes.TGPP_VENDOR_ID, deliveryReportRequested.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setDrmContent(net.java.slee.resource.diameter.ro.events.avp.DrmContent) */ public void setDrmContent( DrmContent drmContent ) { addAvp(DiameterRoAvpCodes.DRM_CONTENT, DiameterRoAvpCodes.TGPP_VENDOR_ID, drmContent.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setMessageClass(net.java.slee.resource.diameter.ro.events.avp.MessageClass) */ public void setMessageClass( MessageClass messageClass ) { addAvp(DiameterRoAvpCodes.MESSAGE_CLASS, DiameterRoAvpCodes.TGPP_VENDOR_ID, messageClass.byteArrayValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setMessageId(java.lang.String) */ public void setMessageId( String messageId ) { addAvp(DiameterRoAvpCodes.MESSAGE_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID, messageId); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setMessageSize(long) */ public void setMessageSize( long messageSize ) { addAvp(DiameterRoAvpCodes.MESSAGE_SIZE, DiameterRoAvpCodes.TGPP_VENDOR_ID, messageSize); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setMessageType(net.java.slee.resource.diameter.ro.events.avp.MessageType) */ public void setMessageType( MessageType messageType ) { addAvp(DiameterRoAvpCodes.MESSAGE_TYPE, DiameterRoAvpCodes.TGPP_VENDOR_ID, messageType.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setMmContentType(net.java.slee.resource.diameter.ro.events.avp.MmContentType) */ public void setMmContentType( MmContentType mmContentType ) { addAvp(DiameterRoAvpCodes.MM_CONTENT_TYPE, DiameterRoAvpCodes.TGPP_VENDOR_ID, mmContentType.byteArrayValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setOriginatorAddress(net.java.slee.resource.diameter.ro.events.avp.OriginatorAddress) */ public void setOriginatorAddress( OriginatorAddress originatorAddress ) { addAvp(DiameterRoAvpCodes.ORIGINATOR_ADDRESS, DiameterRoAvpCodes.TGPP_VENDOR_ID, originatorAddress.byteArrayValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setPriority(net.java.slee.resource.diameter.ro.events.avp.Priority) */ public void setPriority( Priority priority ) { addAvp(DiameterRoAvpCodes.PRIORITY, DiameterRoAvpCodes.TGPP_VENDOR_ID, priority.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setReadReplyReportRequested(net.java.slee.resource.diameter.ro.events.avp.ReadReplyReportRequested) */ public void setReadReplyReportRequested( ReadReplyReportRequested readReplyReportRequested ) { addAvp(DiameterRoAvpCodes.READ_REPLY_REPORT_REQUESTED, DiameterRoAvpCodes.TGPP_VENDOR_ID, readReplyReportRequested.getValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setRecipientAddress(net.java.slee.resource.diameter.ro.events.avp.RecipientAddress) */ public void setRecipientAddress( RecipientAddress recipientAddress ) { addAvp(DiameterRoAvpCodes.RECIPIENT_ADDRESS, DiameterRoAvpCodes.TGPP_VENDOR_ID, recipientAddress.byteArrayValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setRecipientAddresses(net.java.slee.resource.diameter.ro.events.avp.RecipientAddress[]) */ public void setRecipientAddresses( RecipientAddress[] recipientAddresses ) { for(RecipientAddress recipientAddress : recipientAddresses) { setRecipientAddress(recipientAddress); } } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setReplyApplicId(java.lang.String) */ public void setReplyApplicId( String replyApplicId ) { addAvp(DiameterRoAvpCodes.REPLY_APPLIC_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID, replyApplicId); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setSubmissionTime(java.util.Date) */ public void setSubmissionTime( Date submissionTime ) { addAvp(DiameterRoAvpCodes.SUBMISSION_TIME, DiameterRoAvpCodes.TGPP_VENDOR_ID, submissionTime); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setVasId(java.lang.String) */ public void setVasId( String vasId ) { addAvp(DiameterRoAvpCodes.VAS_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID, vasId); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.ro.events.avp.MmsInformation#setVaspId(java.lang.String) */ public void setVaspId( String vaspId ) { addAvp(DiameterRoAvpCodes.VASP_ID, DiameterRoAvpCodes.TGPP_VENDOR_ID, vaspId); } }