adalid.core.predicates.IsDetailViewEnabledEntityReference.java Source code

Java tutorial

Introduction

Here is the source code for adalid.core.predicates.IsDetailViewEnabledEntityReference.java

Source

/*
 * Este programa es software libre; usted puede redistribuirlo y/o modificarlo bajo los terminos
 * de la licencia "GNU General Public License" publicada por la Fundacion "Free Software Foundation".
 * Este programa se distribuye con la esperanza de que pueda ser util, pero SIN NINGUNA GARANTIA;
 * vea la licencia "GNU General Public License" para obtener mas informacion.
 */
package adalid.core.predicates;

import adalid.core.enums.MasterDetailView;
import adalid.core.interfaces.Entity;
import adalid.core.interfaces.EntityReference;
import org.apache.commons.collections.Predicate;

/**
 * @author Jorge Campins
 */
public class IsDetailViewEnabledEntityReference implements Predicate {

    @Override
    public boolean evaluate(Object object) {
        if (object instanceof EntityReference) {
            EntityReference reference = (EntityReference) object;
            Entity declaringEntity = reference.getDeclaringEntity();
            if (declaringEntity != null) { // && declaringEntity.isSelectEnabled()
                //              Entity parentProperty = declaringEntity.getParentProperty();
                //              if (declaringEntity.isTreeViewEnabled() && reference.equals(parentProperty)) {
                //                  return false;
                //              }
                MasterDetailView masterDetailView = reference.getMasterDetailView();
                //              return MasterDetailView.DETAIL.equals(masterDetailView)
                //                  || MasterDetailView.TABLE_AND_DETAIL.equals(masterDetailView);
                return MasterDetailView.TABLE_AND_DETAIL.equals(masterDetailView);
            }
        }
        return false;
    }

}