All Downloads are FREE. Search and download functionalities are using the official Maven repository.

klass.model.meta.domain.AssociationFinder Maven / Gradle / Ivy

The newest version!
package klass.model.meta.domain;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.*;
import java.io.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gs.fw.common.mithra.*;
import com.gs.fw.common.mithra.attribute.*;
import com.gs.fw.common.mithra.util.*;
import com.gs.fw.common.mithra.notification.*;
import com.gs.fw.common.mithra.notification.listener.*;
import com.gs.fw.common.mithra.list.cursor.Cursor;
import com.gs.fw.common.mithra.bulkloader.*;
import com.gs.fw.common.mithra.*;
import com.gs.fw.common.mithra.attribute.*;
import com.gs.fw.common.mithra.attribute.calculator.procedure.ObjectProcedure;
import com.gs.fw.common.mithra.behavior.txparticipation.*;
import com.gs.fw.common.mithra.cache.Cache;
import com.gs.fw.common.mithra.cache.bean.*;
import com.gs.fw.common.mithra.extractor.*;
import com.gs.fw.common.mithra.finder.*;
import com.gs.fw.common.mithra.finder.booleanop.*;
import com.gs.fw.common.mithra.finder.integer.*;
import com.gs.fw.common.mithra.finder.longop.*;
import com.gs.fw.common.mithra.finder.orderby.OrderBy;
import com.gs.fw.common.mithra.finder.string.*;
import com.gs.fw.common.mithra.extractor.NormalAndListValueSelector;
import com.gs.fw.common.mithra.list.NulledRelation;
import com.gs.fw.common.mithra.querycache.CachedQuery;
import com.gs.fw.common.mithra.querycache.QueryCache;
import com.gs.fw.common.mithra.portal.*;
import com.gs.fw.common.mithra.remote.*;
import com.gs.fw.common.mithra.transaction.MithraObjectPersister;
import com.gs.fw.common.mithra.util.TimestampPool;
import org.eclipse.collections.impl.map.mutable.UnifiedMap;
import java.io.Serializable;
/**
* This file was automatically generated using Mithra 18.0.0. Please do not modify it.
* Add custom logic to its subclass instead.
*/
public class AssociationFinder
{
	private static final String IMPL_CLASS_NAME_WITH_SLASHES = "klass/model/meta/domain/Association";
	private static final String BUSINESS_CLASS_NAME_WITH_DOTS = "klass.model.meta.domain.Association";
	private static final FinderMethodMap finderMethodMap;
	private static boolean isFullCache;
	private static boolean isOffHeap;
	private static volatile MithraObjectPortal objectPortal = new UninitializedPortal("klass.model.meta.domain.Association");
	private static final AssociationSingleFinder finder = new AssociationSingleFinder();
	private static ConstantStringSet[] constantStringSets = new ConstantStringSet[0];
	private static ConstantIntSet[] constantIntSets = new ConstantIntSet[0];
	private static ConstantShortSet[] constantShortSets = new ConstantShortSet[0];
	static
	{
		finderMethodMap = new FinderMethodMap(AssociationFinder.AssociationRelatedFinder.class);
		finderMethodMap.addNormalAttributeName("name");
		finderMethodMap.addNormalAttributeName("criteriaId");
		finderMethodMap.addRelationshipName("associationEnds");
		finderMethodMap.addRelationshipName("criteria");
		finderMethodMap.addRelationshipName("packageableElementSuperClass");
	}

	public static Attribute[] allPersistentAttributes()
	{
		return finder.getPersistentAttributes();
	}

	public static List allRelatedFinders()
	{
		return finder.getRelationshipFinders();
	}

	public static List allDependentRelatedFinders()
	{
		return finder.getDependentRelationshipFinders();
	}

	public static ConstantStringSet zGetConstantStringSet(int index)
	{
		return constantStringSets[index];
	}

	public static ConstantIntSet zGetConstantIntSet(int index)
	{
		return constantIntSets[index];
	}

	public static ConstantShortSet zGetConstantShortSet(int index)
	{
		return constantShortSets[index];
	}

	public static Mapper zGetConstantJoin(int index)
	{
		return getConstantJoinPool()[index];
	}

	private static Mapper[] constantJoinPool;
	private static Mapper[] getConstantJoinPool()
	{
		if (constantJoinPool == null)
		{
			Mapper[] result = new Mapper[4];
			result[0] = AssociationFinder.name().constructEqualityMapper(AssociationEndFinder.associationName());
			result[1] = AssociationEndFinder.associationName().constructEqualityMapper(AssociationFinder.name());
			result[2] = AssociationFinder.criteriaId().constructEqualityMapper(CriteriaFinder.id());
			result[3] = CriteriaFinder.id().constructEqualityMapper(AssociationFinder.criteriaId());
			constantJoinPool = result;
		}

		return constantJoinPool;
	}

	public static SourceAttributeType getSourceAttributeType()
	{
		return null;
	}

	public static Association findOne(com.gs.fw.finder.Operation operation)
	{
		return findOne(operation, false);
	}

	public static Association findOneBypassCache(com.gs.fw.finder.Operation operation)
	{
		return findOne(operation, true);
	}

	public static AssociationList findMany(com.gs.fw.finder.Operation operation)
	{
		return (AssociationList) finder.findMany(operation);
	}

	public static AssociationList findManyBypassCache(com.gs.fw.finder.Operation operation)
	{
		return (AssociationList) finder.findManyBypassCache(operation);
	}

	private static Association findOne(com.gs.fw.finder.Operation operation, boolean bypassCache)
	{
		List found = getMithraObjectPortal().find((Operation) operation, bypassCache);
		return (Association) FinderUtils.findOne(found);
	}

	public static Association findByPrimaryKey(String name)
	{
		return finder.findByPrimaryKey(name);
	}

	private static final RelationshipHashStrategy forPrimaryKey = new PrimaryKeyRhs();
	private static final class PrimaryKeyRhs implements RelationshipHashStrategy
	{
		public boolean equalsForRelationship(Object _srcObject, Object _srcData, Object _targetData, Timestamp _asOfDate0, Timestamp _asOfDate1)
		{
			I3O3L3 _bean = (I3O3L3) _srcData;
			AssociationData _castedTargetData = (AssociationData) _targetData;
			if (_bean.getO1AsString().equals(_castedTargetData.getName()))
			{
				return true;
			}

			return false;
		}

		public int computeHashCodeFromRelated(Object _srcObject, Object _srcData)
		{
			I3O3L3 _bean = (I3O3L3) _srcData;
			return HashUtil.hash(_bean.getO1AsString());
		}

		public int computeOffHeapHashCodeFromRelated(Object _srcObject, Object _srcData)
		{
			I3O3L3 _bean = (I3O3L3) _srcData;
			return HashUtil.offHeapHash(_bean.getO1AsString());
		}
	}

	public static Association zFindOneForRelationship(Operation operation)
	{
		List found = getMithraObjectPortal().findAsCachedQuery(operation, null, false, true, 0).getResult();
		return (Association) FinderUtils.findOne(found);
	}

	public static MithraObjectPortal getMithraObjectPortal()
	{
		return objectPortal.getInitializedPortal();
	}

	public static void clearQueryCache()
	{
		objectPortal.clearQueryCache();
	}

	public static void reloadCache()
	{
		objectPortal.reloadCache();
	}

	public static class AssociationRelatedFinder extends AbstractRelatedFinder
	{
		private List relationshipFinders;
		private List dependentRelationshipFinders;
		private StringAttribute name;
		private LongAttribute criteriaId;
		private AssociationAssociationEndsFinderSubclass associationEnds;
		private AssociationCriteriaFinderSubclass criteria;
		private AssociationPackageableElementSuperClassFinderSubclass packageableElementSuperClass;
		public AssociationRelatedFinder()
		{
			super();
		}

		public AssociationRelatedFinder(Mapper mapper)
		{
			super(mapper);
		}

		public String getFinderClassName()
		{
			return "klass.model.meta.domain.AssociationFinder";
		}

		public RelatedFinder getRelationshipFinderByName(String relationshipName)
		{
			return AssociationFinder.finderMethodMap.getRelationshipFinderByName(relationshipName, this);
		}

		public Attribute getAttributeByName(String attributeName)
		{
			return AssociationFinder.finderMethodMap.getAttributeByName(attributeName, this);
		}

		public com.gs.fw.common.mithra.extractor.Function getAttributeOrRelationshipSelector(String attributeName)
		{
			return AssociationFinder.finderMethodMap.getAttributeOrRelationshipSelectorFunction(attributeName, this);
		}

		public Attribute[] getPersistentAttributes()
		{
			Attribute[] attributes = new Attribute[2];
			attributes[0] = this.name();
			attributes[1] = this.criteriaId();
			return attributes;
		}

		public List getRelationshipFinders()
		{
			if (relationshipFinders == null)
			{
				List relatedFinders = new ArrayList(3);
				relatedFinders.add(this.associationEnds());
				relatedFinders.add(this.criteria());
				relatedFinders.add(this.packageableElementSuperClass());
				relationshipFinders = Collections.unmodifiableList(relatedFinders);
			}

			return relationshipFinders;
		}

		public List getDependentRelationshipFinders()
		{
			if (dependentRelationshipFinders == null)
			{
				List dependentRelatedFinders = new ArrayList(1);
				dependentRelatedFinders.add(this.associationEnds());
				dependentRelationshipFinders = Collections.unmodifiableList(dependentRelatedFinders);
			}

			return dependentRelationshipFinders;
		}

		public Association findOne(com.gs.fw.finder.Operation operation)
		{
			return AssociationFinder.findOne(operation, false);
		}

		public Association findOneBypassCache(com.gs.fw.finder.Operation operation)
		{
			return AssociationFinder.findOne(operation, true);
		}

		public MithraList findMany(com.gs.fw.finder.Operation operation)
		{
			return new AssociationList((Operation) operation);
		}

		public MithraList findManyBypassCache(com.gs.fw.finder.Operation operation)
		{
			AssociationList result = (AssociationList) this.findMany(operation);
			result.setBypassCache(true);
			return result;
		}

		public MithraList constructEmptyList()
		{
			return new AssociationList();
		}

		public int getSerialVersionId()
		{
			return 837139036;
		}

		public boolean isPure()
		{
			return false;
		}

		public boolean isTemporary()
		{
			return false;
		}

		public int getHierarchyDepth()
		{
			return 0;
		}

		public StringAttribute name()
		{
			StringAttribute result = this.name;
			if (result == null)
			{
				result = mapper == null ? SingleColumnStringAttribute.generate("\"NAME\"","","name",BUSINESS_CLASS_NAME_WITH_DOTS,IMPL_CLASS_NAME_WITH_SLASHES,false,false,this,null,true,false,-1,-1,-1,256,false, false) :
					new MappedStringAttribute(AssociationFinder.name(), this.mapper, this.zGetValueSelector());
				result.zSetOwningRelationship("packageableElementSuperClass");
				result.zSetOwningReverseRelationship("klass.model.meta.domain", "PackageableElement", "associationSubClass");
				this.name = result;
			}

			return result;
		}

		public LongAttribute criteriaId()
		{
			LongAttribute result = this.criteriaId;
			if (result == null)
			{
				result = mapper == null ? SingleColumnLongAttribute.generate("\"CRITERIA_ID\"","","criteriaId",BUSINESS_CLASS_NAME_WITH_DOTS,IMPL_CLASS_NAME_WITH_SLASHES,false,false,this,null,true,false,false,-1,-1,-1,false, false) :
					new MappedLongAttribute(AssociationFinder.criteriaId(), this.mapper, this.zGetValueSelector());
				result.zSetOwningRelationship("criteria");
				result.zSetOwningReverseRelationship("klass.model.meta.domain", "Criteria", "association");
				this.criteriaId = result;
			}

			return result;
		}

		public AssociationEndFinder.AssociationEndCollectionFinderForRelatedClasses associationEnds()
		{
			AssociationAssociationEndsFinderSubclass result = this.associationEnds;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(AssociationFinder.zGetAssociationAssociationEndsReverseMapper());
				newMapper.setToMany(true);
				result = new AssociationAssociationEndsFinderSubclass(newMapper , this.zGetValueSelector() );
				this.associationEnds = result;
			}

			return result;
		}

		public CriteriaFinder.CriteriaSingleFinderForRelatedClasses criteria()
		{
			AssociationCriteriaFinderSubclass result = this.criteria;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(AssociationFinder.zGetAssociationCriteriaReverseMapper());
				newMapper.setToMany(false);
				result = new AssociationCriteriaFinderSubclass(newMapper , this.zGetValueSelector() );
				this.criteria = result;
			}

			return result;
		}

		public PackageableElementFinder.PackageableElementSingleFinderForRelatedClasses packageableElementSuperClass()
		{
			AssociationPackageableElementSuperClassFinderSubclass result = this.packageableElementSuperClass;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(PackageableElementFinder.zGetPackageableElementAssociationSubClassMapper());
				newMapper.setToMany(false);
				result = new AssociationPackageableElementSuperClassFinderSubclass(newMapper , this.zGetValueSelector() );
				this.packageableElementSuperClass = result;
			}

			return result;
		}

		public Attribute getSourceAttribute()
		{
			return null;
		}

		private Mapper combineWithMapperIfExists(Mapper newMapper)
		{
			if (this.mapper != null)
			{
				return new LinkedMapper(this.mapper, newMapper);
			}

			return newMapper;
		}

		public Attribute[] getPrimaryKeyAttributes()
		{
			return AssociationFinder.getPrimaryKeyAttributes();
		}

		public VersionAttribute getVersionAttribute()
		{
			return null;
		}

		public MithraObjectPortal getMithraObjectPortal()
		{
			return AssociationFinder.getMithraObjectPortal();
		}
	}

	public static class AssociationCollectionFinder extends AssociationRelatedFinder
	{
		public AssociationCollectionFinder(Mapper mapper)
		{
			super(mapper);
		}
	}

	public static abstract class AssociationCollectionFinderForRelatedClasses
	extends AssociationCollectionFinder
	implements DeepRelationshipAttribute
	{
		public AssociationCollectionFinderForRelatedClasses(Mapper mapper)
		{
			super(mapper);
		}

		protected NormalAndListValueSelector zGetValueSelector()
		{
			return this;
		}
	}

	public static class AssociationSingleFinder extends AssociationRelatedFinder
	implements ToOneFinder
	{
		public AssociationSingleFinder(Mapper mapper)
		{
			super(mapper);
		}

		public AssociationSingleFinder()
		{
			super(null);
		}

		public Operation eq(Association other)
		{
			return this.name().eq(other.getName())
			;
		}
		// this implementation uses private API. Do NOT copy to application code. Application code must use normal operations for lookups.
		public Association findByPrimaryKey(String name)
		{
			Association _result = null;
			Operation _op = null;
			Object _related = null;
			if (name != null)
			{
				I3O3L3 _bean = I3O3L3.POOL.getOrConstruct();
				_bean.setO1(name);
				MithraObjectPortal _portal = this.getMithraObjectPortal();
				_related = _portal.getAsOneFromCacheForFind(_bean, _bean, forPrimaryKey, null, null);
				_bean.release();
			}

			if (!(_related instanceof NulledRelation)) _result = (Association) _related;
			if (_related == null)
			{
				_op = this.name().eq(name);
			}

			if (_op != null)
			{
				_result = this.findOne(_op);
			}

			return _result;
		}
	}

	public static abstract class AssociationSingleFinderForRelatedClasses extends AssociationSingleFinder implements DeepRelationshipAttribute
	{
		public AssociationSingleFinderForRelatedClasses(Mapper mapper)
		{
			super(mapper);
		}

		protected NormalAndListValueSelector zGetValueSelector()
		{
			return this;
		}
	}

	private static Mapper associationEndsReverseMapper = null;
	public static Mapper zGetAssociationAssociationEndsReverseMapper()
	{
		if (associationEndsReverseMapper == null)
		{
			associationEndsReverseMapper = zConstructAssociationAssociationEndsReverseMapper();
		}

		return associationEndsReverseMapper;
	}

	private static Mapper associationEndsMapper = null;
	public static Mapper zGetAssociationAssociationEndsMapper()
	{
		if (associationEndsMapper == null)
		{
			associationEndsMapper = zConstructAssociationAssociationEndsMapper();
		}

		return associationEndsMapper;
	}

	private static Mapper associationEndsPureReverseMapper = null;
	public static Mapper zGetAssociationAssociationEndsPureReverseMapper()
	{
		if (associationEndsPureReverseMapper == null)
		{
			associationEndsPureReverseMapper = zConstructAssociationAssociationEndsPureReverseMapper();
		}

		return associationEndsPureReverseMapper;
	}

	private static Mapper zConstructAssociationAssociationEndsPureReverseMapper()
	{
		Mapper associationEndsMapper = AssociationFinder.zGetConstantJoin(0);
		associationEndsMapper.setName("associationEnds");
		return associationEndsMapper;
	}

	private static Mapper zConstructAssociationAssociationEndsReverseMapper()
	{
		Mapper associationEndsMapper = AssociationFinder.zGetConstantJoin(0);
		associationEndsMapper.setName("associationEnds");
		return associationEndsMapper;
	}

	private static Mapper zConstructAssociationAssociationEndsMapper()
	{
		Mapper associationEndsMapper = AssociationFinder.zGetConstantJoin(1);
		associationEndsMapper.setName("owningAssociation");
		return associationEndsMapper;
	}

	private static Mapper criteriaReverseMapper = null;
	public static Mapper zGetAssociationCriteriaReverseMapper()
	{
		if (criteriaReverseMapper == null)
		{
			criteriaReverseMapper = zConstructAssociationCriteriaReverseMapper();
		}

		return criteriaReverseMapper;
	}

	private static Mapper criteriaMapper = null;
	public static Mapper zGetAssociationCriteriaMapper()
	{
		if (criteriaMapper == null)
		{
			criteriaMapper = zConstructAssociationCriteriaMapper();
		}

		return criteriaMapper;
	}

	private static Mapper criteriaPureReverseMapper = null;
	public static Mapper zGetAssociationCriteriaPureReverseMapper()
	{
		if (criteriaPureReverseMapper == null)
		{
			criteriaPureReverseMapper = zConstructAssociationCriteriaPureReverseMapper();
		}

		return criteriaPureReverseMapper;
	}

	private static Mapper zConstructAssociationCriteriaPureReverseMapper()
	{
		Mapper criteriaMapper = AssociationFinder.zGetConstantJoin(2);
		criteriaMapper.setName("criteria");
		return criteriaMapper;
	}

	private static Mapper zConstructAssociationCriteriaReverseMapper()
	{
		Mapper criteriaMapper = AssociationFinder.zGetConstantJoin(2);
		criteriaMapper.setName("criteria");
		return criteriaMapper;
	}

	private static Mapper zConstructAssociationCriteriaMapper()
	{
		Mapper criteriaMapper = AssociationFinder.zGetConstantJoin(3);
		criteriaMapper.setName("association");
		return criteriaMapper;
	}

	/** maps to \"ASSOCIATION\".\"NAME\" **/
	public static StringAttribute name()
	{
		return finder.name();
	}

	/** maps to \"ASSOCIATION\".\"CRITERIA_ID\" **/
	public static LongAttribute criteriaId()
	{
		return finder.criteriaId();
	}

	public static AssociationEndFinder.AssociationEndCollectionFinderForRelatedClasses associationEnds()
	{
		return finder.associationEnds();
	}

	public static class AssociationAssociationEndsFinderSubclass extends AssociationEndFinder.AssociationEndCollectionFinderForRelatedClasses
	{
		public AssociationAssociationEndsFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = AssociationEndFinder.direction().ascendingOrderBy();
			this._type = SIMPLE_TO_MANY;
			this._name = "associationEnds";
		}

		public DeepRelationshipAttribute copy()
		{
			return new AssociationAssociationEndsFinderSubclass(zGetMapper(), (NormalAndListValueSelector) this._parentSelector
			);
		}

		public boolean isModifiedSinceDetachment(MithraTransactionalObject _obj)
		{
			return ((Association) _obj).isAssociationEndsModifiedSinceDetachment();
		}

		protected AssociationEndList plainValueOf(Association _obj)
		{
			return _obj.getAssociationEnds();
		}

		protected AssociationEndList plainListValueOf(Object _obj)
		{
			return ((AssociationList)_obj).getAssociationEnds();
		}
	}

	public static CriteriaFinder.CriteriaSingleFinderForRelatedClasses criteria()
	{
		return finder.criteria();
	}

	public static class AssociationCriteriaFinderSubclass extends CriteriaFinder.CriteriaSingleFinderForRelatedClasses
	{
		public AssociationCriteriaFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "criteria";
		}

		public DeepRelationshipAttribute copy()
		{
			return new AssociationCriteriaFinderSubclass(zGetMapper(), (NormalAndListValueSelector) this._parentSelector
			);
		}

		protected Criteria plainValueOf(Association _obj)
		{
			return _obj.getCriteria();
		}

		protected CriteriaList plainListValueOf(Object _obj)
		{
			return ((AssociationList)_obj).getCriterias();
		}
	}

	public static PackageableElementFinder.PackageableElementSingleFinderForRelatedClasses packageableElementSuperClass()
	{
		return finder.packageableElementSuperClass();
	}

	public static class AssociationPackageableElementSuperClassFinderSubclass extends PackageableElementFinder.PackageableElementSingleFinderForRelatedClasses
	{
		public AssociationPackageableElementSuperClassFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "packageableElementSuperClass";
		}

		public DeepRelationshipAttribute copy()
		{
			return new AssociationPackageableElementSuperClassFinderSubclass(zGetMapper(), (NormalAndListValueSelector) this._parentSelector
			);
		}

		protected PackageableElement plainValueOf(Association _obj)
		{
			return _obj.getPackageableElementSuperClass();
		}

		protected PackageableElementList plainListValueOf(Object _obj)
		{
			return ((AssociationList)_obj).getPackageableElementSuperClass();
		}
	}

	public static Operation eq(Association other)
	{
		return finder.eq(other);
	}

	public static Operation all()
	{
		return new All(name());
	}

	public static AssociationSingleFinder getFinderInstance()
	{
		return finder;
	}

	public static Attribute[] getPrimaryKeyAttributes()
	{
		return new Attribute[] 
		{
			name()
		}

		;
	}

	public static Attribute[] getImmutableAttributes()
	{
		return new Attribute[] 
		{
			name()
			, name()
		}

		;
	}

	public static AsOfAttribute[] getAsOfAttributes()
	{
		return null;
	}

	protected static void initializeIndicies(Cache cache)
	{
		cache.addIndex("0 Index", new Attribute[] 
		{
			criteriaId()
		}

		);
	}

	protected static void initializePortal(MithraObjectDeserializer objectFactory, Cache cache,
		MithraConfigurationManager.Config config)
	{
		initializeIndicies(cache);
		isFullCache = cache.isFullCache();
		isOffHeap = cache.isOffHeap();
		MithraObjectPortal portal;
		if (config.isParticipatingInTx())
		{
			portal = new MithraTransactionalPortal(objectFactory, cache, getFinderInstance(),
				config.getRelationshipCacheSize(), config.getMinQueriesToKeep(), null,
				null, null, 0,
				(MithraObjectPersister) objectFactory);
		}
		else
		{
			portal = new MithraReadOnlyPortal(objectFactory, cache, getFinderInstance(),
				config.getRelationshipCacheSize(), config.getMinQueriesToKeep(), null,
				null, null, 0,
				(MithraObjectPersister) objectFactory);
		}

		portal.setParentFinders(new RelatedFinder[] 
		{
			PackageableElementFinder.getFinderInstance(),
		}

		);
		config.initializePortal(portal);
		objectPortal.destroy();
		objectPortal = portal;
	}

	protected static void initializeClientPortal(MithraObjectDeserializer objectFactory, Cache cache,
		MithraConfigurationManager.Config config)
	{
		initializeIndicies(cache);
		isFullCache = cache.isFullCache();
		isOffHeap = cache.isOffHeap();
		MithraObjectPortal portal;
		if (config.isParticipatingInTx())
		{
			portal = new MithraTransactionalPortal(objectFactory, cache, getFinderInstance(),
				config.getRelationshipCacheSize(), config.getMinQueriesToKeep(),
				null, null,
				null, 0,
				new RemoteMithraObjectPersister(config.getRemoteMithraService(), getFinderInstance(), false));
		}
		else
		{
			portal = new MithraReadOnlyPortal(objectFactory, cache, getFinderInstance(),
				config.getRelationshipCacheSize(), config.getMinQueriesToKeep(),
				null, null,
				null, 0,
				new RemoteMithraObjectPersister(config.getRemoteMithraService(), getFinderInstance(), false));
		}

		portal.setParentFinders(new RelatedFinder[] 
		{
			PackageableElementFinder.getFinderInstance(),
		}

		);
		config.initializePortal(portal);
		objectPortal.destroy();
		objectPortal = portal;
	}

	public static boolean isFullCache()
	{
		return isFullCache;
	}

	public static boolean isOffHeap()
	{
		return isOffHeap;
	}

	public static Attribute getAttributeByName(String attributeName)
	{
		return finder.getAttributeByName(attributeName);
	}

	public static com.gs.fw.common.mithra.extractor.Function getAttributeOrRelationshipSelector(String attributeName)
	{
		return finder.getAttributeOrRelationshipSelector(attributeName);
	}

	public static RelatedFinder getRelatedFinderByName(String relationshipName)
	{
		return finder.getRelationshipFinderByName(relationshipName);
	}

	public static DoubleAttribute[] zGetDoubleAttributes()
	{
		DoubleAttribute[] result = new DoubleAttribute[0];
		return result;
	}

	public static BigDecimalAttribute[] zGetBigDecimalAttributes()
	{
		BigDecimalAttribute[] result = new BigDecimalAttribute[0];
		return result;
	}

	public static void zResetPortal()
	{
		objectPortal.destroy();
		objectPortal = new UninitializedPortal("klass.model.meta.domain.Association");
		isFullCache = false;
		isOffHeap = false;
	}

	public static void setTransactionModeFullTransactionParticipation(MithraTransaction tx)
	{
		tx.setTxParticipationMode(objectPortal, FullTransactionalParticipationMode.getInstance());
	}

	public static void setTransactionModeReadCacheUpdateCausesRefreshAndLock(MithraTransaction tx)
	{
		tx.setTxParticipationMode(objectPortal, ReadCacheUpdateCausesRefreshAndLockTxParticipationMode.getInstance());
	}

	public static void registerForNotification(MithraApplicationClassLevelNotificationListener listener)
	{
		getMithraObjectPortal().registerForApplicationClassLevelNotification(listener);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy