/*
*
* Copyright (c) 2004 SourceTap - www.sourcetap.com
*
* The contents of this file are subject to the SourceTap Public License
* ("License"); You may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.sourcetap.com/license.htm
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
*/
package com.sourcetap.sfa.ui;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilTimer;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import com.sourcetap.sfa.util.DelimitedPairDecoder;
import com.sourcetap.sfa.util.DelimitedValueDecoder;
/**
* DOCUMENT ME!
*
*/
public class UIScreenSectionEntity {
public static final String module = UIScreenSectionEntity.class.getName();
private static final boolean DEBUG = false;
private static final boolean TIMER = false;
protected String sectionId = "";
protected String entityId = "";
protected boolean isUpdateable = false;
protected boolean isOuterJoined = false;
protected boolean hasSequenceKey = false;
protected int insertOrder = 0;
protected int retrieveOrder = 0;
protected int deleteOrder = 0;
protected int updateOrder = 0;
protected String relationTitle = "";
protected String relationByAndFields = "";
protected String relationOrderByFields = "";
UIEntity uiEntity = null;
protected GenericValue genericValue = null;
UIScreenSectionEntity() {
}
public UIScreenSectionEntity(GenericValue uiScreenSectionEntityGV,
GenericDelegator delegator, UICache uiCache)
throws GenericEntityException {
UtilTimer timer = new UtilTimer();
if (TIMER) {
timer.timerString(4,
"[UIScreenSectionEntity.UIScreenSectionEntity] Start");
}
setGenericValue(uiScreenSectionEntityGV);
setSectionId(uiScreenSectionEntityGV.getString("sectionId"));
setEntityId(uiScreenSectionEntityGV.getString("entityId"));
setIsUpdateable(uiScreenSectionEntityGV.getString("isUpdateable"));
setIsOuterJoined(uiScreenSectionEntityGV.getString("isOuterJoined"));
setHasSequenceKey(uiScreenSectionEntityGV.getString("hasSequenceKey"));
setRelationTitle(uiScreenSectionEntityGV.getString("relationTitle"));
setRelationByAndFields(uiScreenSectionEntityGV.getString(
"relationByAndFields"));
setRelationOrderByFields(uiScreenSectionEntityGV.getString(
"relationOrderByFields"));
setInsertOrder(uiScreenSectionEntityGV.getString("insertOrder"));
setRetrieveOrder(uiScreenSectionEntityGV.getString("retrieveOrder"));
setDeleteOrder(uiScreenSectionEntityGV.getString("deleteOrder"));
setUpdateOrder(uiScreenSectionEntityGV.getString("updateOrder"));
// Get the UIEntity object.
if (TIMER) {
timer.timerString(4,
"[UIScreenSectionEntity.UIScreenSectionEntity] Looking for UIEntity in cache.");
}
UIEntity uiEntity = uiCache.getUiEntity(getEntityId());
if (uiEntity == null) {
if (TIMER) {
timer.timerString(4,
"[UIScreenSectionEntity.UIScreenSectionEntity] UIEntity not found in cache. Creating a new one.");
}
GenericValue uiEntityGV = delegator.getRelatedOne("UiEntity",
uiScreenSectionEntityGV);
uiEntity = new UIEntity(uiEntityGV, delegator, uiCache);
uiCache.putUiEntity(getEntityId(), uiEntity);
} else {
if (TIMER) {
timer.timerString(4,
"[UIScreenSectionEntity.UIScreenSectionEntity] Found UIEntity in cache.");
}
}
setUiEntity(uiEntity);
if (TIMER) {
timer.timerString(4,
"[UIScreenSectionEntity.UIScreenSectionEntity] Got UIEntity");
timer.timerString(4,
"[UIScreenSectionEntity.UIScreenSectionEntity] End");
}
}
/**
* DOCUMENT ME!
*
* @param sectionId_
*/
public void setSectionId(String sectionId_) {
sectionId = (sectionId_ == null) ? "" : sectionId_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public String getSectionId() {
return sectionId;
}
/**
* DOCUMENT ME!
*
* @param entityId_
*/
public void setEntityId(String entityId_) {
entityId = (entityId_ == null) ? "" : entityId_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public String getEntityId() {
return entityId;
}
/**
* DOCUMENT ME!
*
* @param isUpdateable_
*/
public void setIsUpdateable(boolean isUpdateable_) {
isUpdateable = isUpdateable_;
}
/**
* DOCUMENT ME!
*
* @param isUpdateable_
*/
public void setIsUpdateable(String isUpdateable_) {
if ((isUpdateable_ == null) || isUpdateable_.equals("") ||
isUpdateable_.equalsIgnoreCase("N")) {
isUpdateable = false;
} else {
isUpdateable = true;
}
}
/**
* DOCUMENT ME!
*
* @return
*/
public boolean getIsUpdateable() {
return isUpdateable;
}
/**
* DOCUMENT ME!
*
* @param isOuterJoined_
*/
public void setIsOuterJoined(boolean isOuterJoined_) {
isOuterJoined = isOuterJoined_;
}
/**
* DOCUMENT ME!
*
* @param isOuterJoined_
*/
public void setIsOuterJoined(String isOuterJoined_) {
if ((isOuterJoined_ == null) || isOuterJoined_.equals("") ||
isOuterJoined_.equalsIgnoreCase("N")) {
isOuterJoined = false;
} else {
isOuterJoined = true;
}
}
/**
* DOCUMENT ME!
*
* @return
*/
public boolean getIsOuterJoined() {
return isOuterJoined;
}
/**
* DOCUMENT ME!
*
* @param hasSequenceKey_
*/
public void setHasSequenceKey(boolean hasSequenceKey_) {
hasSequenceKey = hasSequenceKey_;
}
/**
* DOCUMENT ME!
*
* @param hasSequenceKey_
*/
public void setHasSequenceKey(String hasSequenceKey_) {
if ((hasSequenceKey_ == null) || hasSequenceKey_.equals("") ||
hasSequenceKey_.equalsIgnoreCase("N")) {
hasSequenceKey = false;
} else {
hasSequenceKey = true;
}
}
/**
* DOCUMENT ME!
*
* @return
*/
public boolean getHasSequenceKey() {
return hasSequenceKey;
}
/**
* DOCUMENT ME!
*
* @param insertOrder_
*/
public void setInsertOrder(int insertOrder_) {
insertOrder = insertOrder_;
}
/**
* DOCUMENT ME!
*
* @param insertOrder_
*/
public void setInsertOrder(String insertOrder_) {
insertOrder = (insertOrder_ == null) ? 0
: Integer.valueOf(insertOrder_)
.intValue();
}
/**
* DOCUMENT ME!
*
* @return
*/
public int getInsertOrder() {
return insertOrder;
}
/**
* DOCUMENT ME!
*
* @param retrieveOrder_
*/
public void setRetrieveOrder(int retrieveOrder_) {
retrieveOrder = retrieveOrder_;
}
/**
* DOCUMENT ME!
*
* @param retrieveOrder_
*/
public void setRetrieveOrder(String retrieveOrder_) {
retrieveOrder = (retrieveOrder_ == null) ? 0
: Integer.valueOf(retrieveOrder_)
.intValue();
}
/**
* DOCUMENT ME!
*
* @return
*/
public int getRetrieveOrder() {
return retrieveOrder;
}
/**
* DOCUMENT ME!
*
* @param deleteOrder_
*/
public void setDeleteOrder(int deleteOrder_) {
deleteOrder = deleteOrder_;
}
/**
* DOCUMENT ME!
*
* @param deleteOrder_
*/
public void setDeleteOrder(String deleteOrder_) {
deleteOrder = (deleteOrder_ == null) ? 0
: Integer.valueOf(deleteOrder_)
.intValue();
}
/**
* DOCUMENT ME!
*
* @return
*/
public int getDeleteOrder() {
return deleteOrder;
}
/**
* DOCUMENT ME!
*
* @param updateOrder_
*/
public void setUpdateOrder(int updateOrder_) {
updateOrder = updateOrder_;
}
/**
* DOCUMENT ME!
*
* @param updateOrder_
*/
public void setUpdateOrder(String updateOrder_) {
updateOrder = (updateOrder_ == null) ? 0
: Integer.valueOf(updateOrder_)
.intValue();
}
/**
* DOCUMENT ME!
*
* @return
*/
public int getUpdateOrder() {
return updateOrder;
}
/**
* DOCUMENT ME!
*
* @param relationTitle_
*/
public void setRelationTitle(String relationTitle_) {
relationTitle = (relationTitle_ == null) ? "" : relationTitle_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public String getRelationTitle() {
return relationTitle;
}
/**
* DOCUMENT ME!
*
* @param relationByAndFields_
*/
public void setRelationByAndFields(String relationByAndFields_) {
relationByAndFields = (relationByAndFields_ == null) ? ""
: relationByAndFields_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public String getRelationByAndFields() {
return relationByAndFields;
}
/**
* DOCUMENT ME!
*
* @param relationOrderByFields_
*/
public void setRelationOrderByFields(String relationOrderByFields_) {
relationOrderByFields = (relationOrderByFields_ == null) ? ""
: relationOrderByFields_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public String getRelationOrderByFields() {
return relationOrderByFields;
}
/**
* DOCUMENT ME!
*
* @param genericValue_
*/
public void setGenericValue(GenericValue genericValue_) {
genericValue = genericValue_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public GenericValue getGenericValue() {
return genericValue;
}
/**
* DOCUMENT ME!
*
* @param uiEntity_
*/
public void setUiEntity(UIEntity uiEntity_) {
uiEntity = uiEntity_;
}
/**
* DOCUMENT ME!
*
* @return
*/
public UIEntity getUiEntity() {
return uiEntity;
}
public String getEntityName() {
return uiEntity.getEntityName();
}
public Map getDecodedAndFields()
{
try
{
DelimitedPairDecoder byAndFieldDecoder = new DelimitedPairDecoder(relationByAndFields);
HashMap byAndFieldsMap = byAndFieldDecoder.decode();
return byAndFieldsMap;
} catch (GenericEntityException e)
{
// TODO Auto-generated catch block
Debug.logError("Error decoding relationByAndFields: " + relationByAndFields + " for " + getEntityName(), module);
}
return new HashMap();
}
public List getDecodedOrderBy()
{
DelimitedValueDecoder orderByFieldDecoder = new DelimitedValueDecoder(relationOrderByFields);
ArrayList orderByFields = orderByFieldDecoder.decode();
return orderByFields;
}
}