Package com.ovea.jetty.session.serializer.jboss.serial.classmetamodel

Examples of com.ovea.jetty.session.serializer.jboss.serial.classmetamodel.ClassMetaData


        if (objectDescriptorStrategy.writeObjectSpecialCase(outputParent, cache, obj)) {
            return;
        }

        ClassMetaData metaData = getMetaData(obj, cache);

        if (objectDescriptorStrategy.writeDuplicateObject(outputParent, cache, obj, metaData)) {
            return;
        }

        Object originalObject = obj;
        Object newObject = obj;

        do {
            obj = newObject;
            metaData = getMetaData(obj, cache);
            newObject = objectDescriptorStrategy.replaceObjectByClass(cache, obj, metaData);

            if (objectDescriptorStrategy.writeObjectSpecialCase(outputParent, cache, newObject)) {
                return;
            }
        }
        while (!objectDescriptorStrategy.doneReplacing(cache, newObject, obj, metaData));

        obj = newObject;
        metaData = getMetaData(obj, cache);

        if (cache.getSubstitution() != null) {
            Object orig = obj;
            obj = cache.getSubstitution().replaceObject(obj);
            if (obj != orig) {
                if (objectDescriptorStrategy.writeObjectSpecialCase(outputParent, cache, obj)) {
                    return;
                }

                metaData = getMetaData(obj, cache);
            }
        }

        int description = 0;

        if (cache.getSafeToReuse() != null) {
            description = cache.getSafeToReuse().storeSafe(obj);
            if (description != 0) {
                outputParent.writeByte(DataContainerConstants.SMARTCLONE_DEF);
                cache.getOutput().addObjectReference(description);
                return;
            }

        }

        description = cache.findIdInCacheWrite(obj, metaData.isImmutable());

        if (description != 0) // Shouldn't happen.
        {
            outputParent.writeByte(DataContainerConstants.OBJECTREF);
            cache.getOutput().addObjectReference(description);
            return;
        } else {

            ClassMetaData originalMetaData = metaData;
            if (obj != originalObject) {
                originalMetaData = getMetaData(originalObject, cache);
            }
            description = cache.putObjectInCacheWrite(originalObject, originalMetaData.isImmutable());
            outputParent.writeByte(DataContainerConstants.NEWDEF);
            cache.getOutput().addObjectReference(description);
            cache.getClassDescriptorStrategy().writeClassDescription(obj, metaData, cache, description);
            cache.getObjectDescriptorStrategy().writeObject(outputParent, cache, metaData, obj);
View Full Code Here


    public Object readObjectSpecialCase(JBossSeralizationInputInterface input, ObjectsCache cache, byte byteIdentify) throws IOException {
        return input.readImmutable(byteIdentify, cache);
    }

    public Object readObject(JBossSeralizationInputInterface input, ObjectsCache cache, StreamingClass streamingClass, int reference) throws IOException {
        ClassMetaData metaData = streamingClass.getMetadata();
        byte persisterId = input.readByte();
        Persister persister = PersistResolver.resolvePersister(persisterId);

        //Persister persister = PersistResolver.resolvePersister(description.getMetaData().getClazz(),
        //        description.getMetaData(),description.getMetaData().isArray());

        /*ObjectDescription description = new ObjectDescription();
       description.setMetaData(ClassMetamodelFactory.getClassMetaData(reference.getClassName(),cache.getLoader(),false));
       cache.putObjectInCache(reference,description); */

        Object value = persister.readData(cache.getLoader(), streamingClass, metaData, reference, cache, cache.getInput(), cache.getSubstitution());

        if (!(persister instanceof ClassReferencePersister)) //JBSER-83
        {
            if (cache.getSubstitution() != null) {
                value = cache.getSubstitution().replaceObject(value);
            }

            try {
                if (metaData.getReadResolveMethod() != null) {
                    value = metaData.getReadResolveMethod().invoke(value, new Object[]{});
                    cache.reassignObjectInCacheRead(reference, value);
                }
            } catch (IllegalAccessException e) {
                throw new SerializationException(e);
            } catch (InvocationTargetException e) {
View Full Code Here

        } else if (name.equals("byte")) {
            return Byte.TYPE;
        } else if (name.equals("short")) {
            return Short.TYPE;
        } else {
            ClassMetaData metaData = ClassMetamodelFactory.getClassMetaData(name, resolver, loader, false);
            if (metaData.isArray()) {
                return metaData.getArrayRepresentation();
            } else {
                return metaData.getClazz();
            }
        }
    }
View Full Code Here

    public Object readData(ClassLoader loader, StreamingClass streaming, ClassMetaData nonUsedmetaData, int referenceId, ObjectsCache cache, ObjectInput input, ObjectSubstitutionInterface substitution) throws IOException {
        String instanceName = null;
        Class enumClass = null;
        String classEnum = input.readUTF();
        try {
            ClassMetaData enummetaData = ClassMetamodelFactory.getClassMetaData(classEnum, cache.getClassResolver(), loader, true);
            enumClass = enummetaData.getClazz();
            instanceName = input.readUTF();
            Object enumInstance = Enum.valueOf(enumClass, instanceName);
            if (enumInstance != null) {
                cache.putObjectInCacheRead(referenceId, enumInstance);
                return enumInstance;
View Full Code Here

TOP

Related Classes of com.ovea.jetty.session.serializer.jboss.serial.classmetamodel.ClassMetaData

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.