Java 类com.fasterxml.jackson.core.format.InputAccessor 实例源码

项目:QuizUpWinner    文件:ByteSourceJsonBootstrapper.java   
private static int skipSpace(InputAccessor paramInputAccessor, byte paramByte)
{
  while (true)
  {
    int i = paramByte & 0xFF;
    if ((i != 32) && (i != 13) && (i != 10) && (i != 9))
      return i;
    if (!paramInputAccessor.hasMoreBytes())
      return -1;
    paramByte = paramInputAccessor.nextByte();
  }
}
项目:QuizUpWinner    文件:ByteSourceJsonBootstrapper.java   
private static MatchStrength tryMatch(InputAccessor paramInputAccessor, String paramString, MatchStrength paramMatchStrength)
{
  int i = 0;
  int j = paramString.length();
  while (i < j)
  {
    if (!paramInputAccessor.hasMoreBytes())
      return MatchStrength.INCONCLUSIVE;
    if (paramInputAccessor.nextByte() != paramString.charAt(i))
      return MatchStrength.NO_MATCH;
    i++;
  }
  return paramMatchStrength;
}
项目:Beam    文件:ByteSourceJsonBootstrapper.java   
private static MatchStrength tryMatch(InputAccessor acc, String matchStr, MatchStrength fullMatchStrength)
    throws IOException
{
    for (int i = 0, len = matchStr.length(); i < len; ++i) {
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        if (acc.nextByte() != matchStr.charAt(i)) {
            return MatchStrength.NO_MATCH;
        }
    }
    return fullMatchStrength;
}
项目:Beam    文件:ByteSourceJsonBootstrapper.java   
private static int skipSpace(InputAccessor acc) throws IOException
{
    if (!acc.hasMoreBytes()) {
        return -1;
    }
    return skipSpace(acc, acc.nextByte());
}
项目:Beam    文件:ByteSourceJsonBootstrapper.java   
private static int skipSpace(InputAccessor acc, byte b) throws IOException
{
    while (true) {
        int ch = (int) b & 0xFF;
        if (!(ch == ' ' || ch == '\r' || ch == '\n' || ch == '\t')) {
            return ch;
        }
        if (!acc.hasMoreBytes()) {
            return -1;
        }
        b = acc.nextByte();
        ch = (int) b & 0xFF;
    }
}
项目:Beam    文件:JsonFactory.java   
public MatchStrength hasFormat(InputAccessor acc) throws IOException
{
    // since we can't keep this abstract, only implement for "vanilla" instance
    if (getClass() == JsonFactory.class) {
        return hasJSONFormat(acc);
    }
    return null;
}
项目:joyplus-tv    文件:MappingJsonFactory.java   
/**
 * Sub-classes need to override this method (as of 1.8)
 */
@Override
public MatchStrength hasFormat(InputAccessor acc) throws IOException
{
    if (getClass() == MappingJsonFactory.class) {
        return hasJSONFormat(acc);
    }
    return null;
}
项目:joyplus-tv    文件:ByteSourceJsonBootstrapper.java   
private static MatchStrength tryMatch(InputAccessor acc, String matchStr, MatchStrength fullMatchStrength)
    throws IOException
{
    for (int i = 0, len = matchStr.length(); i < len; ++i) {
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        if (acc.nextByte() != matchStr.charAt(i)) {
            return MatchStrength.NO_MATCH;
        }
    }
    return fullMatchStrength;
}
项目:joyplus-tv    文件:ByteSourceJsonBootstrapper.java   
private static int skipSpace(InputAccessor acc) throws IOException
{
    if (!acc.hasMoreBytes()) {
        return -1;
    }
    return skipSpace(acc, acc.nextByte());
}
项目:joyplus-tv    文件:ByteSourceJsonBootstrapper.java   
private static int skipSpace(InputAccessor acc, byte b) throws IOException
{
    while (true) {
        int ch = (int) b & 0xFF;
        if (!(ch == ' ' || ch == '\r' || ch == '\n' || ch == '\t')) {
            return ch;
        }
        if (!acc.hasMoreBytes()) {
            return -1;
        }
        b = acc.nextByte();
        ch = (int) b & 0xFF;
    }
}
项目:joyplus-tv    文件:JsonFactory.java   
public MatchStrength hasFormat(InputAccessor acc) throws IOException
{
    // since we can't keep this abstract, only implement for "vanilla" instance
    if (getClass() == JsonFactory.class) {
        return hasJSONFormat(acc);
    }
    return null;
}
项目:jackson-dataformat-hocon    文件:HoconFactory.java   
/**
 * Sub-classes need to override this method (as of 1.8)
 */
@Override
public MatchStrength hasFormat(InputAccessor acc) throws IOException
{
    if (!acc.hasMoreBytes()) {
        return MatchStrength.INCONCLUSIVE;
    }
    byte b = acc.nextByte();
    // Very first thing, a UTF-8 BOM?
    if (b == UTF8_BOM_1) { // yes, looks like UTF-8 BOM
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        if (acc.nextByte() != UTF8_BOM_2) {
            return MatchStrength.NO_MATCH;
        }
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        if (acc.nextByte() != UTF8_BOM_3) {
            return MatchStrength.NO_MATCH;
        }
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        b = acc.nextByte();
    }
    if (b == '{' || Character.isLetter((char) b) || Character.isDigit((char) b)) {
        return MatchStrength.WEAK_MATCH;
    }
    return MatchStrength.INCONCLUSIVE;
}
项目:QuizUpWinner    文件:MappingJsonFactory.java   
public MatchStrength hasFormat(InputAccessor paramInputAccessor)
{
  if (getClass() == MappingJsonFactory.class)
    return hasJSONFormat(paramInputAccessor);
  return null;
}
项目:QuizUpWinner    文件:ByteSourceJsonBootstrapper.java   
public static MatchStrength hasJSONFormat(InputAccessor paramInputAccessor)
{
  if (!paramInputAccessor.hasMoreBytes())
    return MatchStrength.INCONCLUSIVE;
  byte b1 = paramInputAccessor.nextByte();
  byte b2 = b1;
  if (b1 == -17)
  {
    if (!paramInputAccessor.hasMoreBytes())
      return MatchStrength.INCONCLUSIVE;
    if (paramInputAccessor.nextByte() != -69)
      return MatchStrength.NO_MATCH;
    if (!paramInputAccessor.hasMoreBytes())
      return MatchStrength.INCONCLUSIVE;
    if (paramInputAccessor.nextByte() != -65)
      return MatchStrength.NO_MATCH;
    if (!paramInputAccessor.hasMoreBytes())
      return MatchStrength.INCONCLUSIVE;
    b2 = paramInputAccessor.nextByte();
  }
  int i = skipSpace(paramInputAccessor, b2);
  if (i < 0)
    return MatchStrength.INCONCLUSIVE;
  if (i == 123)
  {
    int m = skipSpace(paramInputAccessor);
    if (m < 0)
      return MatchStrength.INCONCLUSIVE;
    if ((m == 34) || (m == 125))
      return MatchStrength.SOLID_MATCH;
    return MatchStrength.NO_MATCH;
  }
  if (i == 91)
  {
    int k = skipSpace(paramInputAccessor);
    if (k < 0)
      return MatchStrength.INCONCLUSIVE;
    if ((k == 93) || (k == 91))
      return MatchStrength.SOLID_MATCH;
    return MatchStrength.SOLID_MATCH;
  }
  MatchStrength localMatchStrength = MatchStrength.WEAK_MATCH;
  if (i == 34)
    return localMatchStrength;
  if ((i <= 57) && (i >= 48))
    return localMatchStrength;
  if (i == 45)
  {
    int j = skipSpace(paramInputAccessor);
    if (j < 0)
      return MatchStrength.INCONCLUSIVE;
    if ((j <= 57) && (j >= 48))
      return localMatchStrength;
    return MatchStrength.NO_MATCH;
  }
  if (i == 110)
    return tryMatch(paramInputAccessor, "ull", localMatchStrength);
  if (i == 116)
    return tryMatch(paramInputAccessor, "rue", localMatchStrength);
  if (i == 102)
    return tryMatch(paramInputAccessor, "alse", localMatchStrength);
  return MatchStrength.NO_MATCH;
}
项目:QuizUpWinner    文件:ByteSourceJsonBootstrapper.java   
private static int skipSpace(InputAccessor paramInputAccessor)
{
  if (!paramInputAccessor.hasMoreBytes())
    return -1;
  return skipSpace(paramInputAccessor, paramInputAccessor.nextByte());
}
项目:QuizUpWinner    文件:JsonFactory.java   
public MatchStrength hasFormat(InputAccessor paramInputAccessor)
{
  if (getClass() == JsonFactory.class)
    return hasJSONFormat(paramInputAccessor);
  return null;
}
项目:QuizUpWinner    文件:JsonFactory.java   
public MatchStrength hasJSONFormat(InputAccessor paramInputAccessor)
{
  return ByteSourceJsonBootstrapper.hasJSONFormat(paramInputAccessor);
}
项目:Beam    文件:SmileParserBootstrapper.java   
public static MatchStrength hasSmileFormat(InputAccessor acc) throws IOException
{
    // Ok: ideally we start with the header -- if so, we are golden
    if (!acc.hasMoreBytes()) {
        return MatchStrength.INCONCLUSIVE;
    }
    // We always need at least two bytes to determine, so
    byte b1 = acc.nextByte();
    if (!acc.hasMoreBytes()) {
        return MatchStrength.INCONCLUSIVE;
    }
    byte b2 = acc.nextByte();

    // First: do we see 3 "magic bytes"? If so, we are golden
    if (b1 == SmileConstants.HEADER_BYTE_1) { // yeah, looks like marker
        if (b2 != SmileConstants.HEADER_BYTE_2) {
            return MatchStrength.NO_MATCH;
        }
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        return (acc.nextByte() == SmileConstants.HEADER_BYTE_3) ?
                MatchStrength.FULL_MATCH : MatchStrength.NO_MATCH;
    }
    // Otherwise: ideally either Object or Array:
    if (b1 == SmileConstants.TOKEN_LITERAL_START_OBJECT) {
        /* Object is bit easier, because now we need to get new name; i.e. can
         * rule out name back-refs
         */
        if (b2 == SmileConstants.TOKEN_KEY_LONG_STRING) {
            return MatchStrength.SOLID_MATCH;
        }
        int ch = (int) b2 & 0xFF;
        if (ch >= 0x80 && ch < 0xF8) {
            return MatchStrength.SOLID_MATCH;
        }
        return MatchStrength.NO_MATCH;
    }
    // Array bit trickier
    if (b1 == SmileConstants.TOKEN_LITERAL_START_ARRAY) {
        if (!acc.hasMoreBytes()) {
            return MatchStrength.INCONCLUSIVE;
        }
        /* For arrays, we will actually accept much wider range of values (including
         * things that could otherwise collide)
         */
        if (likelySmileValue(b2) || possibleSmileValue(b2, true)) {
            return MatchStrength.SOLID_MATCH;
        }
        return MatchStrength.NO_MATCH;
    }
    // Scalar values are pretty weak, albeit possible; require more certain match, consider it weak:
    if (likelySmileValue(b1) || possibleSmileValue(b2, false)) {
        return MatchStrength.SOLID_MATCH;
    }
    return MatchStrength.NO_MATCH;
}
项目:Beam    文件:SmileFactory.java   
/**
 * Sub-classes need to override this method (as of 1.8)
 */
@Override
public MatchStrength hasFormat(InputAccessor acc) throws IOException {
    return SmileParserBootstrapper.hasSmileFormat(acc);
}
项目:Beam    文件:JsonFactory.java   
/**
 * Helper method that can be called to determine if content accessed
 * using given accessor seems to be JSON content.
 */
protected MatchStrength hasJSONFormat(InputAccessor acc) throws IOException
{
    return ByteSourceJsonBootstrapper.hasJSONFormat(acc);
}
项目:joyplus-tv    文件:JsonFactory.java   
/**
 * Helper method that can be called to determine if content accessed
 * using given accessor seems to be JSON content.
 */
protected MatchStrength hasJSONFormat(InputAccessor acc) throws IOException
{
    return ByteSourceJsonBootstrapper.hasJSONFormat(acc);
}