Class BinaryDictionary

    • Field Detail

      • TARGETMAP_FILENAME_SUFFIX

        public static final java.lang.String TARGETMAP_FILENAME_SUFFIX
        See Also:
        Constant Field Values
      • DICT_FILENAME_SUFFIX

        public static final java.lang.String DICT_FILENAME_SUFFIX
        See Also:
        Constant Field Values
      • POSDICT_FILENAME_SUFFIX

        public static final java.lang.String POSDICT_FILENAME_SUFFIX
        See Also:
        Constant Field Values
      • TARGETMAP_HEADER

        public static final java.lang.String TARGETMAP_HEADER
        See Also:
        Constant Field Values
      • buffer

        private final java.nio.ByteBuffer buffer
      • targetMapOffsets

        private final int[] targetMapOffsets
      • targetMap

        private final int[] targetMap
      • posDict

        private final POS.Tag[] posDict
      • HAS_SINGLE_POS

        public static final int HAS_SINGLE_POS
        flag that the entry has a single part of speech (leftPOS)
        See Also:
        Constant Field Values
      • HAS_READING

        public static final int HAS_READING
        flag that the entry has reading data. otherwise reading is surface form
        See Also:
        Constant Field Values
    • Constructor Detail

      • BinaryDictionary

        protected BinaryDictionary​(IOSupplier<java.io.InputStream> targetMapResource,
                                   IOSupplier<java.io.InputStream> posResource,
                                   IOSupplier<java.io.InputStream> dictResource)
                            throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • populateTargetMap

        private static void populateTargetMap​(DataInput in,
                                              int[] targetMap,
                                              int[] targetMapOffsets)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • getResource

        @Deprecated(forRemoval=true,
                    since="9.1")
        public static final java.io.InputStream getResource​(BinaryDictionary.ResourceScheme scheme,
                                                            java.lang.String path)
                                                     throws java.io.IOException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        java.io.IOException
      • lookupWordIds

        public void lookupWordIds​(int sourceId,
                                  IntsRef ref)
      • getLeftId

        public int getLeftId​(int wordId)
        Description copied from interface: Dictionary
        Get left id of specified word
        Specified by:
        getLeftId in interface Dictionary
      • getRightId

        public int getRightId​(int wordId)
        Description copied from interface: Dictionary
        Get right id of specified word
        Specified by:
        getRightId in interface Dictionary
      • getWordCost

        public int getWordCost​(int wordId)
        Description copied from interface: Dictionary
        Get word cost of specified word
        Specified by:
        getWordCost in interface Dictionary
      • getPOSType

        public POS.Type getPOSType​(int wordId)
        Description copied from interface: Dictionary
        Get the POS.Type of specified word (morpheme, compound, inflect or pre-analysis)
        Specified by:
        getPOSType in interface Dictionary
      • getReading

        public java.lang.String getReading​(int wordId)
        Description copied from interface: Dictionary
        Get the reading of specified word (mainly used for Hanja to Hangul conversion).
        Specified by:
        getReading in interface Dictionary
      • getMorphemes

        public Dictionary.Morpheme[] getMorphemes​(int wordId,
                                                  char[] surfaceForm,
                                                  int off,
                                                  int len)
        Description copied from interface: Dictionary
        Get the morphemes of specified word (e.g. 가깝으나: 가깝 + 으나).
        Specified by:
        getMorphemes in interface Dictionary
      • readString

        private java.lang.String readString​(int offset)
      • hasSinglePOS

        private boolean hasSinglePOS​(int wordId)
      • hasReadingData

        private boolean hasReadingData​(int wordId)