Package com.avaje.ebeaninternal.server.deploy.id

Examples of com.avaje.ebeaninternal.server.deploy.id.IdBinder


        @Override
        Object read(DbReadContext ctx) throws SQLException {

            // TODO: Support for Inheritance hierarchy on exported OneToOne ?
            IdBinder idBinder = targetDescriptor.getIdBinder();
            Object id = idBinder.read(ctx);
            if (id == null) {
                return null;
            }

            PersistenceContext persistCtx = ctx.getPersistenceContext();
View Full Code Here


            // set appropriate tableAlias for the exported id columns

            String relativePrefix = ctx.getRelativePrefix(getName());
            ctx.pushTableAlias(relativePrefix);

            IdBinder idBinder = targetDescriptor.getIdBinder();
            idBinder.appendSelect(ctx, subQuery);

            ctx.popTableAlias();
        }
View Full Code Here

        return bp;
    }

    private void read(DataInput dataInput) throws IOException {

        IdBinder idBinder = beanDescriptor.getIdBinder();
       
        int iudType = dataInput.readInt();
        ArrayList<Serializable> idList = readIdList(dataInput, idBinder);
       
        switch (iudType) {
View Full Code Here

     * </p>
     */
    private void writeIdList(BeanDescriptor<?> desc, int iudType, ArrayList<Serializable> idList,
            BinaryMessageList msgList) throws IOException {

        IdBinder idBinder = desc.getIdBinder();

        int count = idList == null ? 0 : idList.size();
        if (count > 0) {
            int loop = 0;
            int i = 0;
            int eof = idList.size();
            do {
                ++loop;
                int endOfLoop = Math.min(eof, loop * 100);

                BinaryMessage m = new BinaryMessage(endOfLoop * 4 + 20);
               
                DataOutputStream os = m.getOs();
                os.writeInt(BinaryMessage.TYPE_BEANIUD);
                os.writeUTF(descriptorId);
                os.writeInt(iudType);
                os.writeInt(count);

                for (; i < endOfLoop; i++) {
                    Serializable idValue = idList.get(i);
                    idBinder.writeData(os, idValue);
                }

                os.flush();
                msgList.add(m);

View Full Code Here

        return bp;
    }

    private void read(DataInput dataInput) throws IOException {

        IdBinder idBinder = beanDescriptor.getIdBinder();
        ids = readIdList(dataInput, idBinder);       
    }
View Full Code Here

     * across multiple Packets.
     * </p>
     */
    public void writeBinaryMessage(BinaryMessageList msgList) throws IOException {

        IdBinder idBinder = beanDescriptor.getIdBinder();

        int count = ids == null ? 0 : ids.size();
        if (count > 0) {
            int loop = 0;
            int i = 0;
            int eof = ids.size();
            do {
                ++loop;
                int endOfLoop = Math.min(eof, loop * 100);

                BinaryMessage m = new BinaryMessage(endOfLoop * 4 + 20);
               
                DataOutputStream os = m.getOs();
                os.writeInt(BinaryMessage.TYPE_BEANPATHUPDATE);
                os.writeUTF(descriptorId);
                os.writeUTF(path);
                os.writeInt(count);

                for (; i < endOfLoop; i++) {
                    Serializable idValue = ids.get(i);
                    idBinder.writeData(os, idValue);
                }

                os.flush();
                msgList.add(m);

View Full Code Here

    // bean already existing in the persistence context
    EntityBean contextBean = null;

    Class<?> localType;
    BeanDescriptor<?> localDesc;
    IdBinder localIdBinder;
    EntityBean localBean;

    if (inheritInfo != null) {
      InheritInfo localInfo = inheritInfo.readType(ctx);
      if (localInfo == null) {
        // the bean must be null
        localIdBinder = idBinder;
        localBean = null;
        localType = null;
        localDesc = desc;
      } else {
        localBean = localInfo.createEntityBean();
        localType = localInfo.getType();
        localIdBinder = localInfo.getIdBinder();
        localDesc = localInfo.getBeanDescriptor();
      }

    } else {
      localType = null;
      localDesc = desc;
      localBean = desc.createEntityBean();
      localIdBinder = idBinder;
    }

    Mode queryMode = ctx.getQueryMode();

    PersistenceContext persistenceContext = !readId ? null : ctx.getPersistenceContext();

    Object id = null;
    if (!readId) {
      // report type bean... or perhaps excluding the id for SqlSelect?

    } else {
      id = localIdBinder.readSet(ctx, localBean);
      if (id == null) {
        // bean must be null...
        localBean = null;
      } else {
        // check the PersistenceContext to see if the bean already exists
View Full Code Here

    // Bind the Id values including EmbeddedId and multiple Id

    DefaultExpressionRequest r = (DefaultExpressionRequest) request;
    BeanDescriptor<?> descriptor = r.getBeanDescriptor();
    IdBinder idBinder = descriptor.getIdBinder();

    for (int i = 0; i < idList.size(); i++) {
      idBinder.addIdInBindValue(request, idList.get(i));
    }
  }
View Full Code Here

   */
  public void addSqlNoAlias(SpiExpressionRequest request) {

    DefaultExpressionRequest r = (DefaultExpressionRequest) request;
    BeanDescriptor<?> descriptor = r.getBeanDescriptor();
    IdBinder idBinder = descriptor.getIdBinder();

    request.append(descriptor.getIdBinder().getBindIdInSql(null));
    String inClause = idBinder.getIdInValueExpr(idList.size());
    request.append(inClause);
  }
View Full Code Here

  public void addSql(SpiExpressionRequest request) {

    DefaultExpressionRequest r = (DefaultExpressionRequest) request;
    BeanDescriptor<?> descriptor = r.getBeanDescriptor();
    IdBinder idBinder = descriptor.getIdBinder();

    request.append(descriptor.getIdBinderInLHSSql());
    String inClause = idBinder.getIdInValueExpr(idList.size());
    request.append(inClause);
  }
View Full Code Here

TOP

Related Classes of com.avaje.ebeaninternal.server.deploy.id.IdBinder

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.