Package org.apache.ojb.broker.metadata

Examples of org.apache.ojb.broker.metadata.ObjectReferenceDescriptor


        }

        Iterator i = cld.getObjectReferenceDescriptors().iterator();
        while (i.hasNext())
        {
            ObjectReferenceDescriptor rds = (ObjectReferenceDescriptor) i.next();
            Object refObj = rds.getPersistentField().get(newTxObject);
            if (refObj != null)
            {
                if (ProxyHelper.isProxy(refObj))
                {
                    lock(refObj, lockMode);
View Full Code Here


    {
        // get all members of obj that are references and delete them
        Iterator i = listRds.iterator();
        while (i.hasNext())
        {
            ObjectReferenceDescriptor rds = (ObjectReferenceDescriptor) i.next();
            if (rds.getCascadingDelete() == ObjectReferenceDescriptor.CASCADE_OBJECT)
            {
                Object referencedObject = rds.getPersistentField().get(obj);
                if (referencedObject != null)
                {
                    doDelete(referencedObject);
                }
            }
View Full Code Here

                        }
                    }
                    Vector ords = tempCld.getObjectReferenceDescriptors();
                    for (int i = ords.size() - 1; i >= 0; i--)
                    {
                        ObjectReferenceDescriptor ord = (ObjectReferenceDescriptor) ords.get(i);
                        PersistentField pf = ord.getPersistentField();
                        if (!(pf instanceof AnonymousPersistentFieldForInheritance))
                        {
                            v.add(pf);
                        }
                    }
View Full Code Here

            return;
        }
        Iterator i = listRds.iterator();
        while (i.hasNext())
        {
            ObjectReferenceDescriptor rds = (ObjectReferenceDescriptor) i.next();
            if(rds.getCascadingStore() != ObjectReferenceDescriptor.CASCADE_NONE)
            {
                storeAndLinkOneToOne(false, obj, cld, rds, insert);
            }
        }
    }
View Full Code Here

        {
            referencesBroker.retrieveCollection(pInstance, cld, cod, true);
        }
        else
        {
            ObjectReferenceDescriptor ord = cld.getObjectReferenceDescriptorByName(pAttributeName);
            if (ord != null)
            {
                referencesBroker.retrieveReference(pInstance, cld, ord, true);
            }
            else
View Full Code Here

     */
    public void refreshRelationships(Object obj, ClassDescriptor cld)
    {
        Iterator iter;
        CollectionDescriptor cds;
        ObjectReferenceDescriptor rds;
        iter = cld.getCollectionDescriptors().iterator();
        while (iter.hasNext())
        {
            cds = (CollectionDescriptor) iter.next();
            if (cds.isRefresh())
            {
                referencesBroker.retrieveCollection(obj, cld, cds, false);
            }
        }
        //
        //  Refresh References
        //
        iter = cld.getObjectReferenceDescriptors().iterator();
        while (iter.hasNext())
        {
            rds = (ObjectReferenceDescriptor) iter.next();
            if (rds.isRefresh())
            {
                referencesBroker.retrieveReference(obj, cld, rds, false);
            }
        }
    }
View Full Code Here

         * so that alterations to those related objects will trigger an object to be
         * marked "dirty", otherwise attaching or detaching a 1:1 referenced object will
         * not be updated in ODMG.
         */
        Iterator iter = mif.getObjectReferenceDescriptors().iterator();
        ObjectReferenceDescriptor rds = null;
        Object temp = null;
        while(iter.hasNext())
        {
            rds = (ObjectReferenceDescriptor) iter.next();

/*
             * synchronize on myObj so the ODMG-layer can take a snapshot only of
             * fully cached (i.e. with all references + collections) objects
             */
            synchronized(myObj)
            {
                temp = rds.getPersistentField().get(myObj);
            }
            /**
             * MBAIRD
             * In the case of a proxy, we check if it has been materialized
             * if it's been materialized, we put it in the map, because it could change.
View Full Code Here

                if (!(key instanceof ObjectReferenceDescriptor))
                {
                    continue;
                }

                ObjectReferenceDescriptor ord = (ObjectReferenceDescriptor) key;
                RelationshipPrefetcher prefetcher;
                ArrayList owners = (ArrayList) entry.getValue();

                if (ord.isLazy() || (ord.getItemProxyClass() != null))
                {
                    continue;
                }

                prefetcher = RelationshipPrefetcherFactory.createRelationshipPrefetcher(pb, ord);
View Full Code Here

     * @param forced if set to true loading is forced even if cld differs.
     */
    public void retrieveReferences(Object newObj, ClassDescriptor cld, boolean forced) throws PersistenceBrokerException
    {
        Iterator i = cld.getObjectReferenceDescriptors().iterator();
        ObjectReferenceDescriptor rds = null;
        // turn off auto prefetching for related proxies
        Class saveClassToPrefetch = classToPrefetch;
        classToPrefetch = null;
        while (i.hasNext())
        {
View Full Code Here

//    }

    void changeAutoSetting(Class clazz, String referenceField, boolean autoRetrieve, int autoUpdate, int autoDelete, boolean useProxy)
    {
        ClassDescriptor cld = broker.getClassDescriptor(clazz);
        ObjectReferenceDescriptor ref = cld.getCollectionDescriptorByName(referenceField);
        if(ref == null) ref = cld.getObjectReferenceDescriptorByName(referenceField);
        ref.setLazy(useProxy);
        ref.setCascadeRetrieve(autoRetrieve);
        ref.setCascadingStore(autoUpdate);
        ref.setCascadingDelete(autoDelete);
    }
View Full Code Here

TOP

Related Classes of org.apache.ojb.broker.metadata.ObjectReferenceDescriptor

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.