Esempio n. 1
0
def get_field_type_parameter(field, prefix=CLASS_PREFIX_NLK):
    """Returns the field type parameter."""

    if field.data_type == schema.Field.DataType.STRUCT:
        if field.metadata.full_name == 'google.protobuf.Duration':
            return 'NSNumber *'
        elif field.metadata.full_name == 'google.protobuf.Timestamp':
            return 'NSDate *'
        elif field.metadata.full_name == 'weave.common.ResourceId':
            return 'NSString *'
        elif field.metadata.full_name == 'weave.common.ResourceName':
            return 'NSString *'
        else:
            if base.is_protobuf(field):
                class_name = get_proto_class_name(field)
            else:
                class_name = get_class_name(field, prefix)
            return '{} *'.format(class_name)
    elif is_primitive(field):
        return 'NSNumber *'
    elif field.data_type == schema.Field.DataType.STRING:
        return 'NSString *'
    elif field.data_type == schema.Field.DataType.BYTES:
        return 'NSData *'
    raise exception.InvalidArgument(field)
Esempio n. 2
0
def get_field_base_class_name(field, prefix=CLASS_PREFIX_NLK):
    """Returns the field base class name."""

    if field.data_type == schema.Field.DataType.STRUCT:
        if field.metadata.full_name == 'google.protobuf.Duration':
            if field.is_nullable:
                return 'NSNumber'
        elif field.metadata.full_name == 'google.protobuf.Timestamp':
            return 'NSDate'
        elif field.metadata.full_name == 'weave.common.ResourceId':
            return 'NSString'
        elif field.metadata.full_name == 'weave.common.ResourceName':
            return 'NSString'
        else:
            if base.is_protobuf(field):
                return get_proto_class_name(field)
            else:
                return get_class_name(field, prefix)
    elif is_primitive(field):
        if field.is_nullable:
            return 'NSNumber'
    elif field.data_type == schema.Field.DataType.STRING:
        return 'NSString'
    elif field.data_type == schema.Field.DataType.BYTES:
        return 'NSData'
    raise exception.InvalidArgument(field)
Esempio n. 3
0
def get_proto_class_name(schema_obj):
    """Returns the proto class name."""

    base_name = get_base_name(schema_obj, '_')
    if isinstance(schema_obj, schema.Field):
        return get_proto_class_name(schema_obj.metadata)
    elif isinstance(schema_obj, schema.Struct):
        if base.is_protobuf(schema_obj):
            return CLASS_PREFIX_GPB + base_name
        else:
            return schema_obj.objc_class_prefix + base_name
    return schema_obj.objc_class_prefix + base_name