Package com.facebook.swift.codec.metadata

Examples of com.facebook.swift.codec.metadata.ThriftFieldInjection


        if (fieldMetadata != null) {
            // inject fields
            for (ThriftInjection injection : fieldMetadata.getInjections()) {
                if (injection instanceof ThriftFieldInjection) {
                    ThriftFieldInjection fieldInjection = (ThriftFieldInjection) injection;
                    if (data.getValue() != null) {
                        fieldInjection.getField().set(instance, data.getValue());
                    }
                }
            }

            if (fieldMetadata.getMethodInjection().isPresent()) {
                Object[] parametersValues = new Object[] { data.getValue() };

                if (data.getValue() != null) {
                    try {
                        fieldMetadata.getMethodInjection().get().getMethod().invoke(instance, parametersValues);
                    }
                    catch (InvocationTargetException e) {
                        if (e.getTargetException() != null) {
                            Throwables.propagateIfInstanceOf(e.getTargetException(), Exception.class);
                        }
                        throw e;
                    }
                }
            }
        }

        if (data != null) {
            // inject id value
            for (ThriftInjection injection : idField.getKey().getInjections()) {
                if (injection instanceof ThriftFieldInjection) {
                    ThriftFieldInjection fieldInjection = (ThriftFieldInjection) injection;
                    fieldInjection.getField().set(instance, data.getKey());
                }
            }

            // builder method
            if (metadata.getBuilderMethod().isPresent()) {
View Full Code Here


        // inject fields
        for (ThriftFieldMetadata fieldMetadata : metadata.getFields()) {
            for (ThriftInjection injection : fieldMetadata.getInjections()) {
                if (injection instanceof ThriftFieldInjection) {
                    ThriftFieldInjection fieldInjection = (ThriftFieldInjection) injection;
                    Object value = data.get(fieldInjection.getId());
                    if (value != null) {
                        fieldInjection.getField().set(instance, value);
                    }
                }
            }
        }
View Full Code Here

    {
        for (ThriftFieldMetadata field : metadata.getFields()) {
            for (ThriftInjection injection : field.getInjections()) {
                if (injection instanceof ThriftFieldInjection) {

                    ThriftFieldInjection fieldInjection = (ThriftFieldInjection) injection;

                    // if field is an Object && field != null
                    if (!isProtocolTypeJavaPrimitive(field)) {
                        read.loadVariable(structData.get(field.getId()))
                                .ifNullGoto("field_is_null_" + field.getName());
                    }

                    // write value
                    read.loadVariable(instance)
                            .loadVariable(structData.get(field.getId()))
                            .putField(fieldInjection.getField());

                    // else do nothing
                    if (!isProtocolTypeJavaPrimitive(field)) {
                        read.visitLabel("field_is_null_" + field.getName());
                    }
View Full Code Here

TOP

Related Classes of com.facebook.swift.codec.metadata.ThriftFieldInjection

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.