• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java Token类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.yaml.snakeyaml.tokens.Token的典型用法代码示例。如果您正苦于以下问题:Java Token类的具体用法?Java Token怎么用?Java Token使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Token类属于org.yaml.snakeyaml.tokens包,在下文中一共展示了Token类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: produce

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
public Event produce() {
    // Parse an implicit document.
    if (!scanner.checkToken(Token.ID.Directive, Token.ID.DocumentStart, Token.ID.StreamEnd)) {
        directives = new VersionTagsTuple(null, DEFAULT_TAGS);
        Token token = scanner.peekToken();
        Mark startMark = token.getStartMark();
        Mark endMark = startMark;
        Event event = new DocumentStartEvent(startMark, endMark, false, null, null);
        // Prepare the next state.
        states.push(new ParseDocumentEnd());
        state = new ParseBlockNode();
        return event;
    } else {
        Production p = new ParseDocumentStart();
        return p.produce();
    }
}
 
开发者ID:imkiva,项目名称:AndroidApktool,代码行数:18,代码来源:ParserImpl.java


示例2: checkToken

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
/**
 * Check whether the next token is one of the given types.
 */
public boolean checkToken(Token.ID... choices) {
    while (needMoreTokens()) {
        fetchMoreTokens();
    }
    if (!this.tokens.isEmpty()) {
        if (choices.length == 0) {
            return true;
        }
        // since profiler puts this method on top (it is used a lot), we
        // should not use 'foreach' here because of the performance reasons
        Token.ID first = this.tokens.get(0).getTokenId();
        for (int i = 0; i < choices.length; i++) {
            if (first == choices[i]) {
                return true;
            }
        }
    }
    return false;
}
 
开发者ID:imkiva,项目名称:AndroidApktool,代码行数:23,代码来源:ScannerImpl.java


示例3: fetchStreamEnd

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
private void fetchStreamEnd() {
    // Set the current intendation to -1.
    unwindIndent(-1);

    // Reset simple keys.
    removePossibleSimpleKey();
    this.allowSimpleKey = false;
    this.possibleSimpleKeys.clear();

    // Read the token.
    Mark mark = reader.getMark();

    // Add STREAM-END.
    Token token = new StreamEndToken(mark, mark);
    this.tokens.add(token);

    // The stream is finished.
    this.done = true;
}
 
开发者ID:imkiva,项目名称:AndroidApktool,代码行数:20,代码来源:ScannerImpl.java


示例4: scanFlowScalar

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
/**
 * Scan a flow-style scalar. Flow scalars are presented in one of two forms;
 * first, a flow scalar may be a double-quoted string; second, a flow scalar
 * may be a single-quoted string.
 * 
 * @see <a href="http://www.yaml.org/spec/1.1/#flow"></a> style/syntax
 * 
 *      <pre>
 * See the specification for details.
 * Note that we loose indentation rules for quoted scalars. Quoted
 * scalars don't need to adhere indentation because &quot; and ' clearly
 * mark the beginning and the end of them. Therefore we are less
 * restrictive then the specification requires. We only need to check
 * that document separators are not included in scalars.
 * </pre>
 */
private Token scanFlowScalar(char style) {
    boolean _double;
    // The style will be either single- or double-quoted; we determine this
    // by the first character in the entry (supplied)
    if (style == '"') {
        _double = true;
    } else {
        _double = false;
    }
    StringBuilder chunks = new StringBuilder();
    Mark startMark = reader.getMark();
    char quote = reader.peek();
    reader.forward();
    chunks.append(scanFlowScalarNonSpaces(_double, startMark));
    while (reader.peek() != quote) {
        chunks.append(scanFlowScalarSpaces(startMark));
        chunks.append(scanFlowScalarNonSpaces(_double, startMark));
    }
    reader.forward();
    Mark endMark = reader.getMark();
    return new ScalarToken(chunks.toString(), false, startMark, endMark, style);
}
 
开发者ID:imkiva,项目名称:AndroidApktool,代码行数:39,代码来源:ScannerImpl.java


示例5: scanFlowScalar

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
/**
 * Scan a flow-style scalar. Flow scalars are presented in one of two forms;
 * first, a flow scalar may be a double-quoted string; second, a flow scalar
 * may be a single-quoted string.
 * 
 * @see <a href="http://www.yaml.org/spec/1.1/#flow"></a> style/syntax
 * 
 *      <pre>
 * See the specification for details.
 * Note that we loose indentation rules for quoted scalars. Quoted
 * scalars don't need to adhere indentation because &quot; and ' clearly
 * mark the beginning and the end of them. Therefore we are less
 * restrictive then the specification requires. We only need to check
 * that document separators are not included in scalars.
 * </pre>
 */
private Token scanFlowScalar(char style) {
    boolean _double;
    // The style will be either single- or double-quoted; we determine this
    // by the first character in the entry (supplied)
    if (style == '"') {
        _double = true;
    } else {
        _double = false;
    }
    StringBuilder chunks = new StringBuilder();
    Mark startMark = reader.getMark();
    int quote = reader.peek();
    reader.forward();
    chunks.append(scanFlowScalarNonSpaces(_double, startMark));
    while (reader.peek() != quote) {
        chunks.append(scanFlowScalarSpaces(startMark));
        chunks.append(scanFlowScalarNonSpaces(_double, startMark));
    }
    reader.forward();
    Mark endMark = reader.getMark();
    return new ScalarToken(chunks.toString(), false, startMark, endMark, style);
}
 
开发者ID:RoccoDev,项目名称:5zig-TIMV-Plugin,代码行数:39,代码来源:ScannerImpl.java


示例6: testGetToken

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
public void testGetToken() {
    String data = "string: abcd";
    StreamReader reader = new StreamReader(data);
    Scanner scanner = new ScannerImpl(reader);
    Mark dummy = new Mark("dummy", 0, 0, 0, "", 0);
    LinkedList<Token> etalonTokens = new LinkedList<Token>();
    etalonTokens.add(new StreamStartToken(dummy, dummy));
    etalonTokens.add(new BlockMappingStartToken(dummy, dummy));
    etalonTokens.add(new KeyToken(dummy, dummy));
    etalonTokens.add(new ScalarToken("string", true, dummy, dummy, (char) 0));
    etalonTokens.add(new ValueToken(dummy, dummy));
    etalonTokens.add(new ScalarToken("abcd", true, dummy, dummy, (char) 0));
    etalonTokens.add(new BlockEndToken(dummy, dummy));
    etalonTokens.add(new StreamEndToken(dummy, dummy));
    while (!etalonTokens.isEmpty() && scanner.checkToken(etalonTokens.get(0).getTokenId())) {
        assertEquals(etalonTokens.removeFirst(), scanner.getToken());
    }
    assertFalse("Must contain no more tokens: " + scanner.getToken(),
            scanner.checkToken(new Token.ID[0]));
}
 
开发者ID:bmoliveira,项目名称:snake-yaml,代码行数:21,代码来源:ScannerImplTest.java


示例7: checkToken

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
public boolean checkToken(Token.ID... choices) {
    if (!scanned) {
        scan();
    }
    if (!tokens.isEmpty()) {
        if (choices.length == 0) {
            return true;
        }
        Token first = this.tokens.get(0);
        for (Token.ID choice : choices) {
            if (first.getTokenId() == choice) {
                return true;
            }
        }
    }
    return false;
}
 
开发者ID:bmoliveira,项目名称:snake-yaml,代码行数:18,代码来源:CanonicalScanner.java


示例8: scanTag

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
private Token scanTag() {
    index++;
    int start = index;
    while (" \n\0".indexOf(data.charAt(index)) == -1) {
        index++;
    }
    String value = data.substring(start, index);
    if (value.length() == 0) {
        value = "!";
    } else if (value.charAt(0) == '!') {
        value = Tag.PREFIX + value.substring(1);
    } else if (value.charAt(0) == '<' && value.charAt(value.length() - 1) == '>') {
        value = value.substring(1, value.length() - 1);
    } else {
        value = "!" + value;
    }
    return new TagToken(new TagTuple("", value), mark, mark);
}
 
开发者ID:bmoliveira,项目名称:snake-yaml,代码行数:19,代码来源:CanonicalScanner.java


示例9: advance

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
@Override
public void advance() {
    Token token;

    // Forward only on non-whitespace (whitespace is virtual)
    if (myToken.getTokenId() != Token.ID.Whitespace)
        token = myScanner.getToken();
    else
        token = myScanner.peekToken();


    if (token == null || token.getTokenId().equals(Token.ID.StreamEnd))
        myToken = null;
    else {
        Token nextToken = myScanner.peekToken();
        if (!nextToken.getTokenId().equals(Token.ID.StreamEnd) && token.getEndMark().getIndex() < nextToken.getStartMark().getIndex())
            myToken = guessTokenType(token, nextToken);
        else
            myToken = nextToken;
    }
}
 
开发者ID:vermut,项目名称:intellij-snakeyaml,代码行数:22,代码来源:YamlLexer.java


示例10: scanFlowScalar

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
/**
 * Scan a flow-style scalar. Flow scalars are presented in one of two forms;
 * first, a flow scalar may be a double-quoted string; second, a flow scalar
 * may be a single-quoted string.
 * 
 * @see http://www.yaml.org/spec/1.1/#flow style/syntax
 * 
 *      <pre>
 * See the specification for details.
 * Note that we loose indentation rules for quoted scalars. Quoted
 * scalars don't need to adhere indentation because &quot; and ' clearly
 * mark the beginning and the end of them. Therefore we are less
 * restrictive then the specification requires. We only need to check
 * that document separators are not included in scalars.
 * </pre>
 */
private Token scanFlowScalar(char style) {
    boolean _double;
    // The style will be either single- or double-quoted; we determine this
    // by the first character in the entry (supplied)
    if (style == '"') {
        _double = true;
    } else {
        _double = false;
    }
    StringBuilder chunks = new StringBuilder();
    Mark startMark = reader.getMark();
    char quote = reader.peek();
    reader.forward();
    chunks.append(scanFlowScalarNonSpaces(_double, startMark));
    while (reader.peek() != quote) {
        chunks.append(scanFlowScalarSpaces(startMark));
        chunks.append(scanFlowScalarNonSpaces(_double, startMark));
    }
    reader.forward();
    Mark endMark = reader.getMark();
    return new ScalarToken(chunks.toString(), false, startMark, endMark, style);
}
 
开发者ID:cuizhennan,项目名称:snakeyaml,代码行数:39,代码来源:ScannerImpl.java


示例11: produce

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
@Override
public Event produce() {
	// Parse an implicit document.
	if (!scanner.checkToken(Token.ID.Directive, Token.ID.DocumentStart, Token.ID.StreamEnd)) {
		directives = new VersionTagsTuple(null, DEFAULT_TAGS);
		Token token = scanner.peekToken();
		Mark startMark = token.getStartMark();
		Mark endMark = startMark;
		Event event = new DocumentStartEvent(startMark, endMark, false, null, null);
		// Prepare the next state.
		states.push(new ParseDocumentEnd());
		state = new ParseBlockNode();
		return event;
	} else {
		Production p = new ParseDocumentStart();
		return p.produce();
	}
}
 
开发者ID:OpenNTF,项目名称:org.openntf.domino,代码行数:19,代码来源:ParserImpl.java


示例12: checkToken

import org.yaml.snakeyaml.tokens.Token; //导入依赖的package包/类
/**
 * Check whether the next token is one of the given types.
 */
@Override
public boolean checkToken(final Token.ID... choices) {
	while (needMoreTokens()) {
		fetchMoreTokens();
	}
	if (!this.tokens.isEmpty()) {
		if (choices.length == 0) {
			return true;
		}
		// since profiler puts this method on top (it is used a lot), we
		// should not use 'foreach' here because of the performance reasons
		Token.ID first = this.tokens.get(0).getTokenId();
		for (int i = 0; i < choices.length; i++) {
			if (first == choices[i]) {
				return true;
			}
		}
	}
	return false;
}
 
开发者ID:OpenNTF,项目名称:org.openntf.domino,代码行数:24,代码来源:ScannerImpl.java



注:本文中的org.yaml.snakeyaml.tokens.Token类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ClientPipelineHook类代码示例发布时间:2022-05-23
下一篇:
Java ColumnSchema类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap