/protocols/ss7/inap/inap-impl/src/main/java/org/mobicents/protocols/ss7/inap/primitives/INAPAsnPrimitive.java
Java | 93 lines | 15 code | 13 blank | 65 comment | 0 complexity | c113ef5519db2583aa6fbcad06802b72 MD5 | raw file
1/* 2 * JBoss, Home of Professional Open Source 3 * Copyright 2011, Red Hat, Inc. and individual contributors 4 * by the @authors tag. See the copyright.txt in the distribution for a 5 * full listing of individual contributors. 6 * 7 * This is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU Lesser General Public License as 9 * published by the Free Software Foundation; either version 2.1 of 10 * the License, or (at your option) any later version. 11 * 12 * This software is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this software; if not, write to the Free 19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 21 */ 22 23package org.mobicents.protocols.ss7.inap.primitives; 24 25import org.mobicents.protocols.asn.AsnInputStream; 26import org.mobicents.protocols.asn.AsnOutputStream; 27import org.mobicents.protocols.ss7.inap.api.INAPException; 28import org.mobicents.protocols.ss7.inap.api.INAPParsingComponentException; 29 30/** 31 * 32 * @author sergey vetyutnev 33 * 34 */ 35public interface INAPAsnPrimitive { 36 37 public int getTag() throws INAPException; 38 39 public int getTagClass(); 40 41 public boolean getIsPrimitive(); 42 43 /** 44 * Decoding the length and the content of the primitive (the tag has already 45 * read) 46 * 47 * @param ansIS 48 * The AsnInputStream that contains the length and the content of 49 * the primitive 50 * @throws CAPParsingComponentException 51 */ 52 public void decodeAll(AsnInputStream ansIS) throws INAPParsingComponentException; 53 54 /** 55 * Decoding the content of the primitive (the tag and the length have 56 * already read) 57 * 58 * @param ansIS 59 * The AsnInputStream that contains the content of the primitive 60 * @param length 61 * The length of the content 62 * @throws CAPParsingComponentException 63 */ 64 public void decodeData(AsnInputStream ansIS, int length) throws INAPParsingComponentException; 65 66 /** 67 * Encoding the tag, the length and the content. Tag and tag class are universal 68 * 69 * @param asnOs 70 * @throws CAPException 71 */ 72 public void encodeAll(AsnOutputStream asnOs) throws INAPException; 73 74 /** 75 * Encoding the tag, the length and the content. Tag and tag class are defined 76 * 77 * @param asnOs 78 * @param tagClass 79 * @param tag 80 * @throws CAPException 81 */ 82 public void encodeAll(AsnOutputStream asnOs, int tagClass, int tag) throws INAPException; 83 84 /** 85 * Encoding the content. 86 * 87 * @param asnOs 88 * @throws CAPException 89 */ 90 public void encodeData(AsnOutputStream asnOs) throws INAPException; 91 92 93}