Examples of BCELMember


Examples of org.jpox.enhancer.bcel.metadata.BCELMember

    public void execute()
    {
        methodGen.setMaxLocals();
        methodGen.setMaxStack();
       
        BCELMember targetField = fieldConfig.getEnhanceField();
        Type smType = BCELUtils.getJDOMethodType(targetField.getType());
        Type nativeType = targetField.getType();
        String fieldName;
        if(!((AbstractMemberMetaData)fieldConfig).isProperty())
        {
            fieldName = targetField.getName();
        }
        else
        {
            fieldName = ClassUtils.getFieldNameForJavaBeanGetter(targetField.getName());
        }
        // if( jdoStateManager != null )

        InstructionHandle last;
        BranchInstruction flgIsZero = null;
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

            if (fields != null)
            {
                for (int i=0; i<fields.length; i++)
                {
                    AbstractMemberMetaData f = (AbstractMemberMetaData)fields[i];
                    BCELMember fieldMethod = ((BCELFieldPropertyMetaData)f).getEnhanceField();
                    if (f.isPrimaryKey())
                    {
                        createPathField(
                            f.getName(),
                            f.isProperty(),
                            getModifiers(oidClassName, f.getName()),
                            InstructionFactory.createLoad(oidType, 3));
                        BCELMember field = ((BCELFieldPropertyMetaData)targetFields[i]).getEnhanceField();
                        il.append(InstructionConstants.ALOAD_1);
                        il.append(BCELUtils.getBIPUSH(i));
                        String paramName = BCELUtils.getJDOMethodName(field.getType());
                        il.append(
                            factory.createInvoke(
                                ClassEnhancer.CN_ObjectIdFieldSupplier,
                                "fetch" + paramName + "Field",
                                BCELUtils.getJDOMethodType(field.getType()),
                                new Type[] { Type.INT },
                                Constants.INVOKEINTERFACE));
                        if (BCELUtils.getJDOMethodType(field.getType()) == Type.OBJECT)
                        {
                            String type = null;
                            if (field.getType() instanceof ArrayType)
                                type = field.getType().getSignature();
                            else
                                type = field.getType().toString();
                            il.append(new CHECKCAST(constantPoolGen.addClass(type)));
                        }

                        //support for identifying relationships
                        //if the class has metadata, it is PersistenceCapable
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

    public void execute()
    {      
        methodGen.setMaxLocals();
        methodGen.setMaxStack();
        BCELMember targetField = fieldConfig.getEnhanceField();
        Type smType = BCELUtils.getJDOMethodType(targetField.getType());
        Type nativeType = targetField.getType();
        String fieldName;
        if(!((AbstractMemberMetaData)fieldConfig).isProperty())
        {
            fieldName = targetField.getName();
        }
        else
        {
            fieldName = ClassUtils.getFieldNameForJavaBeanGetter(targetField.getName());
        }
        InstructionHandle jumpTarget;

        BranchInstruction jump1 = null;
        if( (fieldConfig.getJdoFieldFlag() & PersistenceCapable.CHECK_READ) == PersistenceCapable.CHECK_READ)
        {
            il.append(InstructionConstants.ALOAD_0);
            il.append(factory.createGetField(className, ClassEnhancer.FN_Flag, Type.BYTE));
            jump1 = new IFEQ(null);
            il.append(jump1);
        }

        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
        BranchInstruction jump2 = new IFNULL(null);
        il.append(jump2);

        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
        il.append(InstructionConstants.ALOAD_0);
        il.append(BCELUtils.getBIPUSH(fieldConfig.getFieldId()));
        if (cmd.getPersistenceCapableSuperclass() != null)
        {
            il.append(factory.createGetStatic(className, ClassEnhancer.FN_JdoInheritedFieldCount, Type.INT));
            il.append(InstructionConstants.IADD);
        }
        il.append(factory.createInvoke(ClassEnhancer.CN_StateManager, "isLoaded", Type.BOOLEAN,
            new Type[]{BCELClassEnhancer.OT_PersistenceCapable, Type.INT}, Constants.INVOKEINTERFACE));
        BranchInstruction jump3 = new IFNE(null);
        il.append(jump3);

        // statemanager.getXXXfield();
        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
        il.append(InstructionConstants.ALOAD_0);
        il.append(BCELUtils.getBIPUSH(fieldConfig.getFieldId()));
        if (cmd.getPersistenceCapableSuperclass() != null)
        {
            il.append(factory.createGetStatic(className, ClassEnhancer.FN_JdoInheritedFieldCount, Type.INT));
            il.append(InstructionConstants.IADD);
        }
        //jdoGetXXX
        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createInvoke(
            className,
            "jdo"+BCELUtils.getGetterName(fieldName),
            nativeType,
            new Type[] {},
            Constants.INVOKEVIRTUAL));

        il.append(factory.createInvoke(ClassEnhancer.CN_StateManager, "get" + BCELUtils.getJDOMethodName(targetField.getType()) + "Field",
            smType, new Type[]{BCELClassEnhancer.OT_PersistenceCapable, Type.INT, smType}, Constants.INVOKEINTERFACE));

        if (nativeType instanceof ReferenceType)
        {
            String type = null;
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

        // swichBlock = il.append(InstructionFactory.NOP);
        for (int i = 0; i < targetFields.length; i++)
        {
            Type jdoObjectType = null;
            BCELMember field = ((BCELFieldPropertyMetaData)targetFields[i]).getEnhanceField();
            if (field.getType().getClass().equals(BasicType.class))
            {
                jdoObjectType = field.getType();
            }
            else if (field.getType().equals(Type.STRING))
            {
                jdoObjectType = Type.STRING;
            }
            else
            {
                jdoObjectType = Type.OBJECT;
            }
            switchTable[i] = il.append(InstructionConstants.ALOAD_0);
            il.append(InstructionConstants.DUP);
           
            //stateManager field
            il.append(
                    factory.createGetField(
                        className,
                        ClassEnhancer.FN_StateManager,
                        BCELClassEnhancer.OT_StateManager));
            //jdoStateManager.replacingXXXField(this, fieldIndex);
            il.append(InstructionConstants.ALOAD_0);
            il.append(InstructionConstants.ILOAD_1);
            il.append(
                factory.createInvoke(
                    ClassEnhancer.CN_StateManager,
                    "replacing" + BCELUtils.getJDOMethodName(field.getType()) + "Field",
                    jdoObjectType,
                    new Type[] { BCELClassEnhancer.OT_PersistenceCapable, Type.INT },
                    Constants.INVOKEINTERFACE));
            if (jdoObjectType == Type.OBJECT)
            {
                String type = null;
                if (field.getType() instanceof ArrayType)
                    type = field.getType().getSignature();
                else
                    type = field.getType().toString();
                il.append(new CHECKCAST(constantPoolGen.addClass(type)));
            }
            if (!targetFields[i].isProperty())
            {
                //field = jdoStateManager.replacingXXXField(this, fieldIndex);
                il.append(factory.createPutField(className, field.getName(), field.getType()));
            }
            else
            {
                //setFieldName(jdoStateManager.replacingXXXField(this, fieldIndex));
               
                String fieldName = ClassUtils.getFieldNameForJavaBeanGetter(field.getName());
                il.append(factory.createInvoke(
                    className,
                    "jdo"+BCELUtils.getSetterName(fieldName),
                    Type.VOID,
                    new Type[] {field.getType()},
                    Constants.INVOKEVIRTUAL));
            }
            il.append(InstructionConstants.RETURN);
        }
        if (cmd.getPersistenceCapableSuperclass() == null)
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

        this.fieldConfig = fieldConfig;
    }

    public void execute()
    {
        BCELMember targetField = fieldConfig.getEnhanceField();
        Type smType = BCELUtils.getJDOMethodType(targetField.getType());
        Type nativeType = targetField.getType();
        String fieldName = targetField.getName();
        InstructionHandle last;
        GOTO go[] = new GOTO[2];
        go[0] = new GOTO(null);
        go[1] = new GOTO(null);
        il.append(InstructionConstants.ALOAD_0);
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

            il.append(InstructionConstants.ISUB);
        }
        swichBlock = il.append(InstructionConstants.NOP);
        for (int i = 0; i < targetFields.length; i++)
        {
            BCELMember f = ((BCELFieldPropertyMetaData)targetFields[i]).getEnhanceField();
            Type jdoObjectType = null;
            if (f.getType().getClass().equals(BasicType.class))
            {
                jdoObjectType = f.getType();
            }
            else if (f.getType().equals(Type.STRING))
            {
                jdoObjectType = f.getType();
            }
            else
            {
                jdoObjectType = Type.OBJECT;
            }
            switchTable[i] = il.append(InstructionConstants.ALOAD_0);
            il.append(
                factory.createGetField(
                    className,
                    ClassEnhancer.FN_StateManager,
                    BCELClassEnhancer.OT_StateManager));
            il.append(InstructionConstants.ALOAD_0);
            il.append(InstructionConstants.ILOAD_1);
            il.append(InstructionConstants.ALOAD_0);
            if (!targetFields[i].isProperty())
            {
                il.append(factory.createGetField(className, f.getName(), f.getType()));
            }
            else
            {
                //getFieldName();
               
                String fieldName = ClassUtils.getFieldNameForJavaBeanGetter(f.getName());
                il.append(factory.createInvoke(
                    className,
                    "jdo"+BCELUtils.getGetterName(fieldName),
                    f.getType(),
                    new Type[] {},
                    Constants.INVOKEVIRTUAL));
            }
            il.append(
                factory.createInvoke(
                    ClassEnhancer.CN_StateManager,
                    "provided" + BCELUtils.getJDOMethodName(f.getType()) + "Field",
                    Type.VOID,
                    new Type[] { BCELClassEnhancer.OT_PersistenceCapable, Type.INT, jdoObjectType },
                    Constants.INVOKEINTERFACE));
            il.append(InstructionConstants.RETURN);
        }
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

            if (fields != null)
            {
                for (int i = 0; i < fields.length; i++)
                {
                    AbstractMemberMetaData f = (AbstractMemberMetaData)fields[i];
                    BCELMember fieldMethod = ((BCELFieldPropertyMetaData)f).getEnhanceField();
                   
                    if (f.isPrimaryKey())
                    {
                        createPathField(
                                f.getName(),
                                f.isProperty(),
                                getModifiers(objectIdClass, f.getName()),
                                InstructionFactory.createLoad(objectIdClassType, objectIdInstance));
                        //il.append(InstructionFactory.createLoad(objectIdClassType, objectIdInstance));
                        il.append(InstructionConstants.ALOAD_0);
                        createGetField(f.getName(), fieldMethod.getType(), f.isProperty());
                        //support for identifying relationships
                        //if the class has metadata, it is PersistenceCapable
                        //add JDOHelper.getObjectId(fieldXXXX);
                        MetaDataManager mgr = cmd.getMetaDataManager();
                        AbstractClassMetaData cmd = mgr.getMetaDataForClass(f.getType(),
                            enhancer.getClassLoaderResolver());
                        if (cmd != null)
                        {
                            il.append(
                                factory.createInvoke(
                                    ClassEnhancer.CN_JDOHelper,
                                    "getObjectId",
                                    Type.OBJECT,
                                    new Type[] { Type.OBJECT },
                                    Constants.INVOKESTATIC));
                       
                            ObjectType OT_objectidclass = new ObjectType(cmd.getObjectidClass());
                            il.append(factory.createCast(Type.OBJECT, OT_objectidclass));
                            createPutField(
                                objectIdClass,
                                f.getName(),
                                OT_objectidclass,
                                f.isProperty(),
                                getModifiers(objectIdClass, f.getName()));
                        }
                        else
                        {
                            createPutField(
                                objectIdClass,
                                f.getName(),
                                fieldMethod.getType(),
                                f.isProperty(),
                                getModifiers(objectIdClass, f.getName()));
                        }
                    }
                }
View Full Code Here

Examples of org.jpox.enhancer.bcel.metadata.BCELMember

        this.fieldConfig = fieldConfig;
    }

    public void execute()
    {
        BCELMember targetField = fieldConfig.getEnhanceField();
        Type smType = BCELUtils.getJDOMethodType(targetField.getType());
        Type nativeType = targetField.getType();
        String fieldName = targetField.getName();
        InstructionHandle jumpTarget;

        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
        BranchInstruction jump2 = new IFNULL(null);
        il.append(jump2);

        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
        il.append(InstructionConstants.ALOAD_0);
        il.append(BCELUtils.getBIPUSH(fieldConfig.getFieldId()));
        if (cmd.getPersistenceCapableSuperclass() != null)
        {
            il.append(factory.createGetStatic(className, ClassEnhancer.FN_JdoInheritedFieldCount, Type.INT));
            il.append(InstructionConstants.IADD);
        }
        il.append(factory.createInvoke(ClassEnhancer.CN_StateManager, "isLoaded",
            Type.BOOLEAN, new Type[]{BCELClassEnhancer.OT_PersistenceCapable, Type.INT}, Constants.INVOKEINTERFACE));
        BranchInstruction jump3 = new IFNE(null);
        il.append(jump3);

        // statemanager.getXXXfield();
        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
        il.append(InstructionConstants.ALOAD_0);
        il.append(BCELUtils.getBIPUSH(fieldConfig.getFieldId()));
        if (cmd.getPersistenceCapableSuperclass() != null)
        {
            il.append(factory.createGetStatic(className, ClassEnhancer.FN_JdoInheritedFieldCount, Type.INT));
            il.append(InstructionConstants.IADD);
        }
        il.append(InstructionConstants.ALOAD_0);
        il.append(factory.createGetField(className, fieldName, nativeType));
        il.append(factory.createInvoke(ClassEnhancer.CN_StateManager, "get" + BCELUtils.getJDOMethodName(targetField.getType()) + "Field", smType, new Type[]{
                BCELClassEnhancer.OT_PersistenceCapable, Type.INT, smType}, Constants.INVOKEINTERFACE));

        if (nativeType instanceof ReferenceType)
        {
            String type = null;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.