Package org.apache.ojb.broker.metadata

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


  /* (non-Javadoc)
   * @see org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement#getColName(org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.TableAlias, org.apache.ojb.broker.util.SqlHelper.PathInfo, boolean)
   */
  protected String getColName(TableAlias aTableAlias, PathInfo aPathInfo, boolean translate)
  {
        FieldDescriptor fld = null;
        String result;

        if (translate)
        {
            fld = getFieldDescriptor(aTableAlias, aPathInfo);
        }

        if (fld != null)
        {
            // BRJ : No alias for delete
            result = fld.getColumnName();
        }
        else
        {
            result = aPathInfo.column;
        }
View Full Code Here


            Constructor con = classDescriptor.getZeroArgumentConstructor();
            Object obj = ConstructorHelper.instantiate(con);

            // 2. fill only primary key values from Resultset
            Object colValue;
            FieldDescriptor fld;
            FieldDescriptor[] pkfields = classDescriptor.getPkFields();
            for (int i = 0; i < pkfields.length; i++)
            {
                fld = pkfields[i];
                colValue = fld.getJdbcType().getObjectFromColumn(resultSetAndStatment.m_rs, fld.getColumnName());
                fld.getPersistentField().set(obj, colValue);
            }
            // 3. return the representing identity object
            return broker.serviceIdentity().buildIdentity(classDescriptor, obj);
        }
        catch (SQLException e)
View Full Code Here

                    }
                    BrokerHelper helper = broker.serviceBrokerHelper();

                    FieldDescriptor[] fields = cld.getPkFields();
                    pks = new Object[fields.length];
                    FieldDescriptor fld;
                    for(int i = 0; i < fields.length; i++)
                    {
                        fld = fields[i];
                        /*
                        we check all PK fields for 'null'-values
                        */
                        Object value = fld.getPersistentField().get(objOrProxy);
                        if(helper.representsNull(fld, value))
                        {
                            result = (Identity) objectToIdentityMap.get(objOrProxy);
                            if(result == null)
                            {
View Full Code Here

                    (pkFieldNames != null ? pkFieldNames.length : 0));
        }
        boolean result = true;
        for(int i = 0; i < flds.length; i++)
        {
            FieldDescriptor fld = flds[i];
            result = result && fld.getPersistentField().getName().equals(pkFieldNames[i]);
        }
        return result;
    }
View Full Code Here

        ArrayList columnList = new ArrayList();
        TableAlias searchAlias = getSearchTable();
       
        for (int i = 0; i < fieldDescriptors.length; i++)
        {
            FieldDescriptor field = fieldDescriptors[i];
            TableAlias alias = getTableAliasForClassDescriptor(field.getClassDescriptor());
            if (alias == null)
            {
                alias = searchAlias;
            }
            if (i > 0)
            {
                buf.append(",");
            }
            appendColumn(alias, field, buf);
            columnList.add(field.getAttributeName());
        }
       
        appendClazzColumnForSelect(buf);
        return columnList;
    }
View Full Code Here

            FieldDescriptor[] fieldDescriptors = subCld.getPkFields();

            TableAlias alias = getTableAliasForClassDescriptor(subCld);
            for (int j = 0; j < fieldDescriptors.length; j++)
            {
                FieldDescriptor field = fieldDescriptors[j];
                if (j > 0)
                {
                    buf.append(" AND ");
                }
                appendColumn(alias, field, buf);
View Full Code Here

       
        // add Standard Fields
        // MBAIRD: if the object being queried on has multiple classes mapped to the table,
        // then we will get all the fields that are a unique set across all those classes so if we need to
        // we can materialize an extent
        FieldDescriptor fds[] = repository.getFieldDescriptorsForMultiMappedTable(cld);
        for (int i = 0; i < fds.length; i++)
        {
            fields.add(fds[i]);
        }
View Full Code Here

            }

            // get reference field in super class
            // TODO: do not use the superclassfield anymore, just assume that the id is the same in both tables - @see PBroker.storeToDb
            int superFieldRef = cld.getSuperClassFieldRef();
            FieldDescriptor refField = cld.getFieldDescriptorByIndex(superFieldRef);

            appendTable(cldSuper, where);
            where.append(".");
            appendField(cldSuper.getAutoIncrementFields()[0], where);
            where.append(" = ");
View Full Code Here

    private void appendSuperClassColumns(ClassDescriptor cldSuper, StringBuffer buf)
    {
        FieldDescriptor[] fields = cldSuper.getFieldDescriptions();
        for (int i = 0; i < fields.length; i++)
        {
            FieldDescriptor field = fields[i];
            if (i > 0)
            {
                buf.append(",");
            }
            buf.append(cldSuper.getFullTableName());
            buf.append(".");
            buf.append(field.getColumnName());
        }
    }
View Full Code Here

        {
            return getIndirectionTableColName(aTableAlias, aPathInfo.path);
        }

        // translate attribute name into column name
        FieldDescriptor fld = getFieldDescriptor(aTableAlias, aPathInfo);

        if (fld != null)
        {
            m_attrToFld.put(aPathInfo.path, fld);

            // added to suport the super reference descriptor
            if (!fld.getClassDescriptor().getFullTableName().equals(aTableAlias.table) && aTableAlias.hasJoins())
            {
                Iterator itr = aTableAlias.joins.iterator();
                while (itr.hasNext())
                {
                    Join join = (Join) itr.next();
                    if (join.right.table.equals(fld.getClassDescriptor().getFullTableName()))
                    {
                        result = join.right.alias + "." + fld.getColumnName();
                        break;
                    }
                }

                if (result == null)
                {
                    result = aPathInfo.column;
                }
            }
            else
            {
                result = aTableAlias.alias + "." + fld.getColumnName();
            }
        }
        else if ("*".equals(aPathInfo.column))
        {
            result = aPathInfo.column;
View Full Code Here

TOP

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

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.