/protocols/ss7/map/map-impl/src/main/java/org/mobicents/protocols/ss7/map/primitives/MAPAsnPrimitive.java

http://mobicents.googlecode.com/ · Java · 96 lines · 16 code · 15 blank · 65 comment · 0 complexity · cbb9a21c7648edf65edd4d4597c7ba4a 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. package org.mobicents.protocols.ss7.map.primitives;
  23. import java.io.Serializable;
  24. import org.mobicents.protocols.asn.AsnInputStream;
  25. import org.mobicents.protocols.asn.AsnOutputStream;
  26. import org.mobicents.protocols.ss7.map.api.MAPException;
  27. import org.mobicents.protocols.ss7.map.api.MAPParsingComponentException;
  28. /**
  29. *
  30. * @author sergey vetyutnev
  31. *
  32. */
  33. public interface MAPAsnPrimitive extends Serializable {
  34. public int getTag() throws MAPException;
  35. public int getTagClass();
  36. public boolean getIsPrimitive();
  37. /**
  38. * Decoding the length and the content of the primitive (the tag has already
  39. * read)
  40. *
  41. * @param ansIS
  42. * The AsnInputStream that contains the length and the content of
  43. * the primitive
  44. * @throws MAPParsingComponentException
  45. */
  46. public void decodeAll(AsnInputStream ansIS) throws MAPParsingComponentException;
  47. /**
  48. * Decoding the content of the primitive (the tag and the length have
  49. * already read)
  50. *
  51. * @param ansIS
  52. * The AsnInputStream that contains the content of the primitive
  53. * @param length
  54. * The length of the content
  55. * @throws MAPParsingComponentException
  56. */
  57. public void decodeData(AsnInputStream ansIS, int length) throws MAPParsingComponentException;
  58. /**
  59. * Encoding the tag, the length and the content. Tag and tag class are universal
  60. *
  61. * @param asnOs
  62. * @throws MAPException
  63. */
  64. public void encodeAll(AsnOutputStream asnOs) throws MAPException;
  65. /**
  66. * Encoding the tag, the length and the content. Tag and tag class are defined
  67. *
  68. * @param asnOs
  69. * @param tagClass
  70. * @param tag
  71. * @throws MAPException
  72. */
  73. public void encodeAll(AsnOutputStream asnOs, int tagClass, int tag) throws MAPException;
  74. /**
  75. * Encoding the content.
  76. *
  77. * @param asnOs
  78. * @throws MAPException
  79. */
  80. public void encodeData(AsnOutputStream asnOs) throws MAPException;
  81. }