Package org.apache.ojb.broker.metadata

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


   * @return Object the value of attribute[fieldNum]
   */
    Object getValue(int fieldNum)
    {
        String attributeName = getAttributeName(fieldNum);
        ClassDescriptor cld = broker.getClassDescriptor(pc.getClass());
       
        // field could be a primitive typed attribute...
        AttributeDescriptorBase fld = cld.getFieldDescriptorByName(attributeName);
        // field could be a reference attribute...
        if (fld == null)
        {
      fld = cld.getObjectReferenceDescriptorByName(attributeName);
    }
    // or it could be a collection attribute:
        if (fld == null)
        {
      fld = cld.getCollectionDescriptorByName(attributeName);
    }       
        Object value = fld.getPersistentField().get(pc);
        return value;
    }
View Full Code Here


    /**
     * @see javax.jdo.Extent#hasSubclasses()
     */
    public boolean hasSubclasses()
    {
        ClassDescriptor cld = broker.getClassDescriptor(clazz);
        return cld.isExtent();
    }
View Full Code Here

            Criteria crit = null;
            for (int i = 0; i < elements.size(); i++)
            {
                DListEntry entry = (DListEntry) elements.get(i);
                Object obj = entry.getRealSubject();
                ClassDescriptor cld = brokerForClass.getClassDescriptor(obj.getClass());

                FieldDescriptor[] pkFields = cld.getPkFields();
                ValueContainer[] pkValues = brokerForClass.serviceBrokerHelper().getKeyValues(cld, obj);

                Criteria criteria = new Criteria();
                for (int j = 0; j < pkFields.length; j++)
                {
View Full Code Here

                try{throw new Exception("Proxy object materialization outside of a running tx, obj=" + oid);}catch(Exception e)
                {
                e.printStackTrace();
                }
            }
            ClassDescriptor cld = getBroker().getClassDescriptor(materializedObject.getClass());
            RuntimeObject rt = new RuntimeObject(materializedObject, oid, cld, false, false);
            lockAndRegister(rt, Transaction.READ, isImplicitLocking(), getRegistrationList());
        }
        catch (Throwable t)
        {
View Full Code Here

                {e.printStackTrace();}
            }
            else
            {
                Identity oid = getBroker().serviceIdentity().buildIdentity(o);
                ClassDescriptor cld = getBroker().getClassDescriptor(ProxyHelper.getRealClass(o));
                RuntimeObject rt = new RuntimeObject(o, oid, cld, false, ProxyHelper.isProxy(o));
                lockAndRegister(rt, Transaction.READ, isImplicitLocking(), getRegistrationList());
            }
        }
        unregisterFromCollectionProxy(colProxy);
View Full Code Here

     * @param referenceField The field name of the 1:1, 1:n or 1:n reference.
     * @param doCascade If <em>true</em> cascading delete is enabled, <em>false</em> disabled.
     */
    public void setCascadingDelete(Class target, String referenceField, boolean doCascade)
    {
        ClassDescriptor cld = getBroker().getClassDescriptor(target);
        ObjectReferenceDescriptor ord = cld.getObjectReferenceDescriptorByName(referenceField);
        if(ord == null)
        {
            ord = cld.getCollectionDescriptorByName(referenceField);
        }
        if(ord == null)
        {
            throw new CascadeSettingException("Invalid reference field name '" + referenceField
                    + "', can't find 1:1, 1:n or m:n relation with that name in " + target);
View Full Code Here

     * @param target The class to change cascading delete behavior of all references.
     * @param doCascade If <em>true</em> cascading delete is enabled, <em>false</em> disabled.
     */
    public void setCascadingDelete(Class target, boolean doCascade)
    {
        ClassDescriptor cld = getBroker().getClassDescriptor(target);
        List extents = cld.getExtentClasses();
        Boolean result = doCascade ? Boolean.TRUE : Boolean.FALSE;
        setCascadingDelete(cld, result);
        if(extents != null && extents.size() > 0)
        {
            for(int i = 0; i < extents.size(); i++)
            {
                Class extent =  (Class) extents.get(i);
                ClassDescriptor tmp = getBroker().getClassDescriptor(extent);
                setCascadingDelete(tmp, result);
            }
        }
    }
View Full Code Here

        Class c = ProxyHelper.getRealClass(obj);
        int isolationLevel = IsolationLevels.IL_READ_UNCOMMITTED;

        try
        {
            ClassDescriptor cld = TxManagerFactory.instance().getCurrentTransaction().getBroker().getClassDescriptor(c);
            isolationLevel = cld.getIsolationLevel();
        }
        catch (PersistenceBrokerException e)
        {
            LoggerFactory.getDefaultLogger().error("[LockStrategyFactory] Can't detect locking isolation level", e);
        }
View Full Code Here

     * buildObjectImage() will return the image of the Object.
     */
    private Map buildObjectImage(PersistenceBroker broker) throws PersistenceBrokerException
    {
        Map imageMap = new HashMap();
        ClassDescriptor cld = broker.getClassDescriptor(getObject().getClass());
        //System.out.println("++++ build image: " + getObject());
        // register 1:1 references in image
        buildImageForSingleReferences(imageMap, cld);
        // put object values to image map
        buildImageForFields(imageMap, cld);
View Full Code Here

    return itty;
  }

  public boolean hasSubclasses()
  {
    ClassDescriptor cld = m_conn.getDescriptorFor(m_clazz);
    return cld.isExtent();
  }
View Full Code Here

TOP

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

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.