public ProtoType nestedType(String name) { if (isScalar) { throw new UnsupportedOperationException("scalar cannot have a nested type"); } if (isMap) { throw new UnsupportedOperationException("map cannot have a nested type"); } if (name == null || name.contains(".") || name.isEmpty()) { throw new IllegalArgumentException("unexpected name: " + name); } return new ProtoType(false, string + '.' + name); }
public static ProtoType get(String name) { ProtoType scalar = SCALAR_TYPES.get(name); if (scalar != null) return scalar; if (name == null || name.isEmpty() || name.contains("#")) { throw new IllegalArgumentException("unexpected name: " + name); } if (name.startsWith("map<") && name.endsWith(">")) { int comma = name.indexOf(','); if (comma == -1) throw new IllegalArgumentException("expected ',' in map type: " + name); ProtoType key = get(name.substring(4, comma).trim()); ProtoType value = get(name.substring(comma + 1, name.length() - 1).trim()); return new ProtoType(key, value, name); } return new ProtoType(false, name); }
private ProtoType resolveType(String name, boolean messageOnly) { ProtoType type = ProtoType.get(name); if (type.isScalar()) { if (messageOnly) { addError("expected a message but was %s", name); } return type; } if (type.isMap()) { if (messageOnly) { addError("expected a message but was %s", name); } ProtoType keyType = resolveType(type.keyType().toString(), false); ProtoType valueType = resolveType(type.valueType().toString(), false); return new ProtoType(keyType, valueType, name); } Type resolved = resolve(name, protoTypeNames); if (resolved == null) { addError("unable to resolve %s", name); return ProtoType.BYTES; // Just return any placeholder. } if (messageOnly && !(resolved instanceof MessageType)) { addError("expected a message but was %s", name); return ProtoType.BYTES; // Just return any placeholder. } return resolved.type(); }
public ProtoType nestedType(String name) { if (isScalar) { throw new UnsupportedOperationException("scalar cannot have a nested type"); } if (isMap) { throw new UnsupportedOperationException("map cannot have a nested type"); } if (name == null || name.contains(".") || name.isEmpty()) { throw new IllegalArgumentException("unexpected name: " + name); } return new ProtoType(false, string + '.' + name); }
public ProtoType nestedType(String name) { if (isScalar) { throw new UnsupportedOperationException("scalar cannot have a nested type"); } if (isMap) { throw new UnsupportedOperationException("map cannot have a nested type"); } if (name == null || name.contains(".") || name.isEmpty()) { throw new IllegalArgumentException("unexpected name: " + name); } return new ProtoType(false, string + '.' + name); }
public static ProtoType get(String name) { ProtoType scalar = SCALAR_TYPES.get(name); if (scalar != null) return scalar; if (name == null || name.isEmpty() || name.contains("#")) { throw new IllegalArgumentException("unexpected name: " + name); } if (name.startsWith("map<") && name.endsWith(">")) { int comma = name.indexOf(','); if (comma == -1) throw new IllegalArgumentException("expected ',' in map type: " + name); ProtoType key = get(name.substring(4, comma).trim()); ProtoType value = get(name.substring(comma + 1, name.length() - 1).trim()); return new ProtoType(key, value, name); } return new ProtoType(false, name); }
public static ProtoType get(String name) { ProtoType scalar = SCALAR_TYPES.get(name); if (scalar != null) return scalar; if (name == null || name.isEmpty() || name.contains("#")) { throw new IllegalArgumentException("unexpected name: " + name); } if (name.startsWith("map<") && name.endsWith(">")) { int comma = name.indexOf(','); if (comma == -1) throw new IllegalArgumentException("expected ',' in map type: " + name); ProtoType key = get(name.substring(4, comma).trim()); ProtoType value = get(name.substring(comma + 1, name.length() - 1).trim()); return new ProtoType(key, value, name); } return new ProtoType(false, name); }
private ProtoType resolveType(String name, boolean messageOnly) { ProtoType type = ProtoType.get(name); if (type.isScalar()) { if (messageOnly) { addError("expected a message but was %s", name); } return type; } if (type.isMap()) { if (messageOnly) { addError("expected a message but was %s", name); } ProtoType keyType = resolveType(type.keyType().toString(), false); ProtoType valueType = resolveType(type.valueType().toString(), false); return new ProtoType(keyType, valueType, name); } Type resolved = resolve(name, protoTypeNames); if (resolved == null) { addError("unable to resolve %s", name); return ProtoType.BYTES; // Just return any placeholder. } if (messageOnly && !(resolved instanceof MessageType)) { addError("expected a message but was %s", name); return ProtoType.BYTES; // Just return any placeholder. } return resolved.type(); }
private ProtoType resolveType(String name, boolean messageOnly) { ProtoType type = ProtoType.get(name); if (type.isScalar()) { if (messageOnly) { addError("expected a message but was %s", name); } return type; } if (type.isMap()) { if (messageOnly) { addError("expected a message but was %s", name); } ProtoType keyType = resolveType(type.keyType().toString(), false); ProtoType valueType = resolveType(type.valueType().toString(), false); return new ProtoType(keyType, valueType, name); } Type resolved = resolve(name, protoTypeNames); if (resolved == null) { addError("unable to resolve %s", name); return ProtoType.BYTES; // Just return any placeholder. } if (messageOnly && !(resolved instanceof MessageType)) { addError("expected a message but was %s", name); return ProtoType.BYTES; // Just return any placeholder. } return resolved.type(); }