本文整理汇总了Java中com.sun.xml.internal.fastinfoset.util.KeyIntMap类的典型用法代码示例。如果您正苦于以下问题:Java KeyIntMap类的具体用法?Java KeyIntMap怎么用?Java KeyIntMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
KeyIntMap类属于com.sun.xml.internal.fastinfoset.util包,在下文中一共展示了KeyIntMap类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: encodeFourBitCharacters
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
/**
* Encode a chunk of Character Information Items using a restricted
* alphabet that results in the encoding of a character in 4 bits
* (or two characters per octet).
*
* @param id the restricted alphabet identifier.
* @param table the table mapping characters to 4 bit values.
* @param ch the array of characters.
* @param offset the offset into the array of characters.
* @param length the length of characters.
* @param addToTable if characters should be added to table.
* @throws ArrayIndexOutOfBoundsException.
*/
protected final void encodeFourBitCharacters(int id, int[] table, char[] ch, int offset, int length,
boolean addToTable) throws FastInfosetException, IOException {
if (addToTable) {
// if char array could be added to table
boolean canAddCharacterContentToTable =
canAddCharacterContentToTable(length, _v.characterContentChunk);
// obtain/get index
int index = canAddCharacterContentToTable ?
_v.characterContentChunk.obtainIndex(ch, offset, length, true) :
_v.characterContentChunk.get(ch, offset, length);
if (index != KeyIntMap.NOT_PRESENT) {
// if char array is in table
_b = EncodingConstants.CHARACTER_CHUNK | 0x20;
encodeNonZeroIntegerOnFourthBit(index);
return;
} else if (canAddCharacterContentToTable) {
// if char array is not in table, but could be added
_b = EncodingConstants.CHARACTER_CHUNK | EncodingConstants.CHARACTER_CHUNK_RESTRICTED_ALPHABET_FLAG | EncodingConstants.CHARACTER_CHUNK_ADD_TO_TABLE_FLAG;
} else {
// if char array is not in table and could not be added
_b = EncodingConstants.CHARACTER_CHUNK | EncodingConstants.CHARACTER_CHUNK_RESTRICTED_ALPHABET_FLAG;
}
} else {
_b = EncodingConstants.CHARACTER_CHUNK | EncodingConstants.CHARACTER_CHUNK_RESTRICTED_ALPHABET_FLAG;
}
write (_b);
// Encode bottom 6 bits of enoding algorithm id
_b = id << 2;
encodeNonEmptyFourBitCharacterStringOnSeventhBit(table, ch, offset, length);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:49,代码来源:Encoder.java
示例2: encodeNonIdentifyingStringOnFirstBit
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
/**
* Encode a non identifying string on the first bit of an octet.
* Implementation of clause C.14 of ITU-T Rec. X.891 | ISO/IEC 24824-1.
*
* @param s the string to encode
* @param map the vocabulary table of strings to indexes.
* @param addToTable true if the string could be added to the vocabulary
* table (if table has enough memory)
* @param mustBeAddedToTable true if the string must be added to the vocabulary
* table (if not already present in the table).
*/
protected final void encodeNonIdentifyingStringOnFirstBit(String s, StringIntMap map,
boolean addToTable, boolean mustBeAddedToTable) throws IOException {
if (s == null || s.length() == 0) {
// C.26 an index (first bit '1') with seven '1' bits for an empty string
write(0xFF);
} else {
if (addToTable || mustBeAddedToTable) {
// if attribute value could be added to table
boolean canAddAttributeToTable = mustBeAddedToTable ||
canAddAttributeToTable(s.length());
// obtain/get index
int index = canAddAttributeToTable ?
map.obtainIndex(s) :
map.get(s);
if (index != KeyIntMap.NOT_PRESENT) {
// if attribute value is in table
encodeNonZeroIntegerOnSecondBitFirstBitOne(index);
} else if (canAddAttributeToTable) {
// if attribute value is not in table, but could be added
_b = EncodingConstants.NISTRING_ADD_TO_TABLE_FLAG |
_nonIdentifyingStringOnFirstBitCES;
encodeNonEmptyCharacterStringOnFifthBit(s);
} else {
// if attribute value is not in table and could not be added
_b = _nonIdentifyingStringOnFirstBitCES;
encodeNonEmptyCharacterStringOnFifthBit(s);
}
} else {
_b = _nonIdentifyingStringOnFirstBitCES;
encodeNonEmptyCharacterStringOnFifthBit(s);
}
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:47,代码来源:Encoder.java
示例3: encodeNonIdentifyingStringOnThirdBit
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
/**
* Encode a non identifying string on the third bit of an octet.
* Implementation of clause C.15 of ITU-T Rec. X.891 | ISO/IEC 24824-1.
*
* @param ch the array of characters.
* @param offset the offset into the array of characters.
* @param length the length of characters.
* @param map the vocabulary table of character arrays to indexes.
* @param addToTable true if the array of characters should be added to the vocabulary
* table (if not already present in the table).
* @param clone true if the array of characters should be cloned if added
* to the vocabulary table.
*/
protected final void encodeNonIdentifyingStringOnThirdBit(char[] ch, int offset, int length,
CharArrayIntMap map, boolean addToTable, boolean clone) throws IOException {
// length cannot be zero since sequence of CIIs has to be > 0
if (addToTable) {
// if char array could be added to table
boolean canAddCharacterContentToTable =
canAddCharacterContentToTable(length, map);
// obtain/get index
int index = canAddCharacterContentToTable ?
map.obtainIndex(ch, offset, length, clone) :
map.get(ch, offset, length);
if (index != KeyIntMap.NOT_PRESENT) {
// if char array is in table
_b = EncodingConstants.CHARACTER_CHUNK | 0x20;
encodeNonZeroIntegerOnFourthBit(index);
} else if (canAddCharacterContentToTable) {
// if char array is not in table, but could be added
_b = EncodingConstants.CHARACTER_CHUNK_ADD_TO_TABLE_FLAG |
_nonIdentifyingStringOnThirdBitCES;
encodeNonEmptyCharacterStringOnSeventhBit(ch, offset, length);
} else {
// if char array is not in table and could not be added
_b = _nonIdentifyingStringOnThirdBitCES;
encodeNonEmptyCharacterStringOnSeventhBit(ch, offset, length);
}
} else {
// char array will not be added to map
_b = _nonIdentifyingStringOnThirdBitCES;
encodeNonEmptyCharacterStringOnSeventhBit(ch, offset, length);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:48,代码来源:Encoder.java
示例4: encodeIdentifyingNonEmptyStringOnFirstBit
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
/**
* Encode a non empty identifying string on the first bit of an octet.
* Implementation of clause C.13 of ITU-T Rec. X.891 | ISO/IEC 24824-1.
*
* @param s the identifying string.
* @param map the vocabulary table to use to determin the index of the
* identifying string
*/
protected final void encodeIdentifyingNonEmptyStringOnFirstBit(String s, StringIntMap map) throws IOException {
int index = map.obtainIndex(s);
if (index == KeyIntMap.NOT_PRESENT) {
// _b = 0;
encodeNonEmptyOctetStringOnSecondBit(s);
} else {
// _b = 0x80;
encodeNonZeroIntegerOnSecondBitFirstBitOne(index);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:Encoder.java
示例5: addToNameTable
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
private void addToNameTable(QName n, QualifiedNameArray a,
boolean isAttribute,
StringIntMap prefixMap, StringIntMap namespaceNameMap,
StringIntMap localNameMap) {
int namespaceURIIndex = -1;
int prefixIndex = -1;
if (n.getNamespaceURI().length() > 0) {
namespaceURIIndex = namespaceNameMap.obtainIndex(n.getNamespaceURI());
if (namespaceURIIndex == KeyIntMap.NOT_PRESENT) {
namespaceURIIndex = namespaceName.getSize();
namespaceName.add(n.getNamespaceURI());
}
if (n.getPrefix().length() > 0) {
prefixIndex = prefixMap.obtainIndex(n.getPrefix());
if (prefixIndex == KeyIntMap.NOT_PRESENT) {
prefixIndex = prefix.getSize();
prefix.add(n.getPrefix());
}
}
}
int localNameIndex = localNameMap.obtainIndex(n.getLocalPart());
if (localNameIndex == KeyIntMap.NOT_PRESENT) {
localNameIndex = localName.getSize();
localName.add(n.getLocalPart());
}
QualifiedName name = new QualifiedName(n.getPrefix(), n.getNamespaceURI(), n.getLocalPart(),
a.getSize(),
prefixIndex, namespaceURIIndex, localNameIndex);
if (isAttribute) {
name.createAttributeValues(DuplicateAttributeVerifier.MAP_SIZE);
}
a.add(name);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:37,代码来源:ParserVocabulary.java
示例6: addToNameTable
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
private void addToNameTable(QName n, LocalNameQualifiedNamesMap m) {
int namespaceURIIndex = -1;
int prefixIndex = -1;
if (n.getNamespaceURI().length() > 0) {
namespaceURIIndex = namespaceName.obtainIndex(n.getNamespaceURI());
if (namespaceURIIndex == KeyIntMap.NOT_PRESENT) {
namespaceURIIndex = namespaceName.get(n.getNamespaceURI());
}
if (n.getPrefix().length() > 0) {
prefixIndex = prefix.obtainIndex(n.getPrefix());
if (prefixIndex == KeyIntMap.NOT_PRESENT) {
prefixIndex = prefix.get(n.getPrefix());
}
}
}
int localNameIndex = localName.obtainIndex(n.getLocalPart());
if (localNameIndex == KeyIntMap.NOT_PRESENT) {
localNameIndex = localName.get(n.getLocalPart());
}
QualifiedName name = new QualifiedName(n.getPrefix(), n.getNamespaceURI(), n.getLocalPart(),
m.getNextIndex(),
prefixIndex, namespaceURIIndex, localNameIndex);
LocalNameQualifiedNamesMap.Entry entry = null;
if (_useLocalNameAsKey) {
entry = m.obtainEntry(n.getLocalPart());
} else {
String qName = (prefixIndex == -1)
? n.getLocalPart()
: n.getPrefix() + ":" + n.getLocalPart();
entry = m.obtainEntry(qName);
}
entry.addQualifiedName(name);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:39,代码来源:SerializerVocabulary.java
示例7: addToTable
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
public void addToTable(String s, Set v, StringIntMap m, StringArray a) {
if (s.length() == 0) {
return;
}
if (m.obtainIndex(s) == KeyIntMap.NOT_PRESENT) {
a.add(s);
}
v.add(s);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,代码来源:VocabularyGenerator.java
示例8: addToCharArrayTable
import com.sun.xml.internal.fastinfoset.util.KeyIntMap; //导入依赖的package包/类
public void addToCharArrayTable(CharArray c) {
if (_serializerVocabulary.characterContentChunk.obtainIndex(c.ch, c.start, c.length, false) == KeyIntMap.NOT_PRESENT) {
_parserVocabulary.characterContentChunk.add(c.ch, c.length);
}
_v.characterContentChunks.add(c.toString());
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:VocabularyGenerator.java
注:本文中的com.sun.xml.internal.fastinfoset.util.KeyIntMap类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论