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

klass.model.meta.domain.PackageableElementFinder 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 PackageableElementFinder
{
	private static final String IMPL_CLASS_NAME_WITH_SLASHES = "klass/model/meta/domain/PackageableElement";
	private static final String BUSINESS_CLASS_NAME_WITH_DOTS = "klass.model.meta.domain.PackageableElement";
	private static final FinderMethodMap finderMethodMap;
	private static boolean isFullCache;
	private static boolean isOffHeap;
	private static volatile MithraObjectPortal objectPortal = new UninitializedPortal("klass.model.meta.domain.PackageableElement");
	private static final PackageableElementSingleFinder finder = new PackageableElementSingleFinder();
	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(PackageableElementFinder.PackageableElementRelatedFinder.class);
		finderMethodMap.addNormalAttributeName("name");
		finderMethodMap.addNormalAttributeName("ordinal");
		finderMethodMap.addNormalAttributeName("packageName");
		finderMethodMap.addRelationshipName("enumerationSubClass");
		finderMethodMap.addRelationshipName("classifierSubClass");
		finderMethodMap.addRelationshipName("associationSubClass");
		finderMethodMap.addRelationshipName("namedProjectionSubClass");
		finderMethodMap.addRelationshipName("serviceGroupSubClass");
	}

	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[10];
			result[0] = PackageableElementFinder.name().constructEqualityMapper(EnumerationFinder.name());
			result[1] = EnumerationFinder.name().constructEqualityMapper(PackageableElementFinder.name());
			result[2] = PackageableElementFinder.name().constructEqualityMapper(ClassifierFinder.name());
			result[3] = ClassifierFinder.name().constructEqualityMapper(PackageableElementFinder.name());
			result[4] = PackageableElementFinder.name().constructEqualityMapper(AssociationFinder.name());
			result[5] = AssociationFinder.name().constructEqualityMapper(PackageableElementFinder.name());
			result[6] = PackageableElementFinder.name().constructEqualityMapper(NamedProjectionFinder.name());
			result[7] = NamedProjectionFinder.name().constructEqualityMapper(PackageableElementFinder.name());
			result[8] = PackageableElementFinder.name().constructEqualityMapper(ServiceGroupFinder.name());
			result[9] = ServiceGroupFinder.name().constructEqualityMapper(PackageableElementFinder.name());
			constantJoinPool = result;
		}

		return constantJoinPool;
	}

	public static SourceAttributeType getSourceAttributeType()
	{
		return null;
	}

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

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

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

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

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

	public static PackageableElement 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;
			PackageableElementData _castedTargetData = (PackageableElementData) _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 PackageableElement zFindOneForRelationship(Operation operation)
	{
		List found = getMithraObjectPortal().findAsCachedQuery(operation, null, false, true, 0).getResult();
		return (PackageableElement) 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 PackageableElementRelatedFinder extends AbstractRelatedFinder
	implements NamedElementFinder
	{
		private List relationshipFinders;
		private List dependentRelationshipFinders;
		private StringAttribute name;
		private IntegerAttribute ordinal;
		private StringAttribute packageName;
		private PackageableElementEnumerationSubClassFinderSubclass enumerationSubClass;
		private PackageableElementClassifierSubClassFinderSubclass classifierSubClass;
		private PackageableElementAssociationSubClassFinderSubclass associationSubClass;
		private PackageableElementNamedProjectionSubClassFinderSubclass namedProjectionSubClass;
		private PackageableElementServiceGroupSubClassFinderSubclass serviceGroupSubClass;
		public PackageableElementRelatedFinder()
		{
			super();
		}

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

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

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

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

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

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

		public List getRelationshipFinders()
		{
			if (relationshipFinders == null)
			{
				List relatedFinders = new ArrayList(5);
				relatedFinders.add(this.enumerationSubClass());
				relatedFinders.add(this.classifierSubClass());
				relatedFinders.add(this.associationSubClass());
				relatedFinders.add(this.namedProjectionSubClass());
				relatedFinders.add(this.serviceGroupSubClass());
				relationshipFinders = Collections.unmodifiableList(relatedFinders);
			}

			return relationshipFinders;
		}

		public List getDependentRelationshipFinders()
		{
			if (dependentRelationshipFinders == null)
			{
				List dependentRelatedFinders = new ArrayList(5);
				dependentRelatedFinders.add(this.enumerationSubClass());
				dependentRelatedFinders.add(this.classifierSubClass());
				dependentRelatedFinders.add(this.associationSubClass());
				dependentRelatedFinders.add(this.namedProjectionSubClass());
				dependentRelatedFinders.add(this.serviceGroupSubClass());
				dependentRelationshipFinders = Collections.unmodifiableList(dependentRelatedFinders);
			}

			return dependentRelationshipFinders;
		}

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

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

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

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

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

		public int getSerialVersionId()
		{
			return -1058661963;
		}

		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(PackageableElementFinder.name(), this.mapper, this.zGetValueSelector());
				this.name = result;
			}

			return result;
		}

		public IntegerAttribute ordinal()
		{
			IntegerAttribute result = this.ordinal;
			if (result == null)
			{
				result = mapper == null ? SingleColumnIntegerAttribute.generate("\"ORDINAL\"","","ordinal",BUSINESS_CLASS_NAME_WITH_DOTS,IMPL_CLASS_NAME_WITH_SLASHES,false,false,this,null,true,false,false,-1,-1,-1,false, false) :
					new MappedIntegerAttribute(PackageableElementFinder.ordinal(), this.mapper, this.zGetValueSelector());
				this.ordinal = result;
			}

			return result;
		}

		public StringAttribute packageName()
		{
			StringAttribute result = this.packageName;
			if (result == null)
			{
				result = mapper == null ? SingleColumnStringAttribute.generate("\"PACKAGE_NAME\"","","packageName",BUSINESS_CLASS_NAME_WITH_DOTS,IMPL_CLASS_NAME_WITH_SLASHES,false,false,this,null,true,false,-1,-1,-1,100000,false, false) :
					new MappedStringAttribute(PackageableElementFinder.packageName(), this.mapper, this.zGetValueSelector());
				this.packageName = result;
			}

			return result;
		}

		public EnumerationFinder.EnumerationSingleFinderForRelatedClasses enumerationSubClass()
		{
			PackageableElementEnumerationSubClassFinderSubclass result = this.enumerationSubClass;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(PackageableElementFinder.zGetPackageableElementEnumerationSubClassReverseMapper());
				newMapper.setToMany(false);
				result = new PackageableElementEnumerationSubClassFinderSubclass(newMapper , this.zGetValueSelector() );
				this.enumerationSubClass = result;
			}

			return result;
		}

		public ClassifierFinder.ClassifierSingleFinderForRelatedClasses classifierSubClass()
		{
			PackageableElementClassifierSubClassFinderSubclass result = this.classifierSubClass;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(PackageableElementFinder.zGetPackageableElementClassifierSubClassReverseMapper());
				newMapper.setToMany(false);
				result = new PackageableElementClassifierSubClassFinderSubclass(newMapper , this.zGetValueSelector() );
				this.classifierSubClass = result;
			}

			return result;
		}

		public AssociationFinder.AssociationSingleFinderForRelatedClasses associationSubClass()
		{
			PackageableElementAssociationSubClassFinderSubclass result = this.associationSubClass;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(PackageableElementFinder.zGetPackageableElementAssociationSubClassReverseMapper());
				newMapper.setToMany(false);
				result = new PackageableElementAssociationSubClassFinderSubclass(newMapper , this.zGetValueSelector() );
				this.associationSubClass = result;
			}

			return result;
		}

		public NamedProjectionFinder.NamedProjectionSingleFinderForRelatedClasses namedProjectionSubClass()
		{
			PackageableElementNamedProjectionSubClassFinderSubclass result = this.namedProjectionSubClass;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(PackageableElementFinder.zGetPackageableElementNamedProjectionSubClassReverseMapper());
				newMapper.setToMany(false);
				result = new PackageableElementNamedProjectionSubClassFinderSubclass(newMapper , this.zGetValueSelector() );
				this.namedProjectionSubClass = result;
			}

			return result;
		}

		public ServiceGroupFinder.ServiceGroupSingleFinderForRelatedClasses serviceGroupSubClass()
		{
			PackageableElementServiceGroupSubClassFinderSubclass result = this.serviceGroupSubClass;
			if (result == null)
			{
				Mapper newMapper = combineWithMapperIfExists(PackageableElementFinder.zGetPackageableElementServiceGroupSubClassReverseMapper());
				newMapper.setToMany(false);
				result = new PackageableElementServiceGroupSubClassFinderSubclass(newMapper , this.zGetValueSelector() );
				this.serviceGroupSubClass = 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 PackageableElementFinder.getPrimaryKeyAttributes();
		}

		public VersionAttribute getVersionAttribute()
		{
			return null;
		}

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

	public static class PackageableElementCollectionFinder extends PackageableElementRelatedFinder
	{
		public PackageableElementCollectionFinder(Mapper mapper)
		{
			super(mapper);
		}
	}

	public static abstract class PackageableElementCollectionFinderForRelatedClasses
	extends PackageableElementCollectionFinder
	implements DeepRelationshipAttribute
	{
		public PackageableElementCollectionFinderForRelatedClasses(Mapper mapper)
		{
			super(mapper);
		}

		protected NormalAndListValueSelector zGetValueSelector()
		{
			return this;
		}
	}

	public static class PackageableElementSingleFinder extends PackageableElementRelatedFinder
	implements ToOneFinder
	{
		public PackageableElementSingleFinder(Mapper mapper)
		{
			super(mapper);
		}

		public PackageableElementSingleFinder()
		{
			super(null);
		}

		public Operation eq(PackageableElement 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 PackageableElement findByPrimaryKey(String name)
		{
			PackageableElement _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 = (PackageableElement) _related;
			if (_related == null)
			{
				_op = this.name().eq(name);
			}

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

			return _result;
		}
	}

	public static abstract class PackageableElementSingleFinderForRelatedClasses extends PackageableElementSingleFinder implements DeepRelationshipAttribute
	{
		public PackageableElementSingleFinderForRelatedClasses(Mapper mapper)
		{
			super(mapper);
		}

		protected NormalAndListValueSelector zGetValueSelector()
		{
			return this;
		}
	}

	private static Mapper enumerationSubClassReverseMapper = null;
	public static Mapper zGetPackageableElementEnumerationSubClassReverseMapper()
	{
		if (enumerationSubClassReverseMapper == null)
		{
			enumerationSubClassReverseMapper = zConstructPackageableElementEnumerationSubClassReverseMapper();
		}

		return enumerationSubClassReverseMapper;
	}

	private static Mapper enumerationSubClassMapper = null;
	public static Mapper zGetPackageableElementEnumerationSubClassMapper()
	{
		if (enumerationSubClassMapper == null)
		{
			enumerationSubClassMapper = zConstructPackageableElementEnumerationSubClassMapper();
		}

		return enumerationSubClassMapper;
	}

	private static Mapper enumerationSubClassPureReverseMapper = null;
	public static Mapper zGetPackageableElementEnumerationSubClassPureReverseMapper()
	{
		if (enumerationSubClassPureReverseMapper == null)
		{
			enumerationSubClassPureReverseMapper = zConstructPackageableElementEnumerationSubClassPureReverseMapper();
		}

		return enumerationSubClassPureReverseMapper;
	}

	private static Mapper zConstructPackageableElementEnumerationSubClassPureReverseMapper()
	{
		Mapper enumerationSubClassMapper = PackageableElementFinder.zGetConstantJoin(0);
		enumerationSubClassMapper.setName("enumerationSubClass");
		return enumerationSubClassMapper;
	}

	private static Mapper zConstructPackageableElementEnumerationSubClassReverseMapper()
	{
		Mapper enumerationSubClassMapper = PackageableElementFinder.zGetConstantJoin(0);
		enumerationSubClassMapper.setName("enumerationSubClass");
		return enumerationSubClassMapper;
	}

	private static Mapper zConstructPackageableElementEnumerationSubClassMapper()
	{
		Mapper enumerationSubClassMapper = PackageableElementFinder.zGetConstantJoin(1);
		enumerationSubClassMapper.setName("packageableElementSuperClass");
		return enumerationSubClassMapper;
	}

	private static Mapper classifierSubClassReverseMapper = null;
	public static Mapper zGetPackageableElementClassifierSubClassReverseMapper()
	{
		if (classifierSubClassReverseMapper == null)
		{
			classifierSubClassReverseMapper = zConstructPackageableElementClassifierSubClassReverseMapper();
		}

		return classifierSubClassReverseMapper;
	}

	private static Mapper classifierSubClassMapper = null;
	public static Mapper zGetPackageableElementClassifierSubClassMapper()
	{
		if (classifierSubClassMapper == null)
		{
			classifierSubClassMapper = zConstructPackageableElementClassifierSubClassMapper();
		}

		return classifierSubClassMapper;
	}

	private static Mapper classifierSubClassPureReverseMapper = null;
	public static Mapper zGetPackageableElementClassifierSubClassPureReverseMapper()
	{
		if (classifierSubClassPureReverseMapper == null)
		{
			classifierSubClassPureReverseMapper = zConstructPackageableElementClassifierSubClassPureReverseMapper();
		}

		return classifierSubClassPureReverseMapper;
	}

	private static Mapper zConstructPackageableElementClassifierSubClassPureReverseMapper()
	{
		Mapper classifierSubClassMapper = PackageableElementFinder.zGetConstantJoin(2);
		classifierSubClassMapper.setName("classifierSubClass");
		return classifierSubClassMapper;
	}

	private static Mapper zConstructPackageableElementClassifierSubClassReverseMapper()
	{
		Mapper classifierSubClassMapper = PackageableElementFinder.zGetConstantJoin(2);
		classifierSubClassMapper.setName("classifierSubClass");
		return classifierSubClassMapper;
	}

	private static Mapper zConstructPackageableElementClassifierSubClassMapper()
	{
		Mapper classifierSubClassMapper = PackageableElementFinder.zGetConstantJoin(3);
		classifierSubClassMapper.setName("packageableElementSuperClass");
		return classifierSubClassMapper;
	}

	private static Mapper associationSubClassReverseMapper = null;
	public static Mapper zGetPackageableElementAssociationSubClassReverseMapper()
	{
		if (associationSubClassReverseMapper == null)
		{
			associationSubClassReverseMapper = zConstructPackageableElementAssociationSubClassReverseMapper();
		}

		return associationSubClassReverseMapper;
	}

	private static Mapper associationSubClassMapper = null;
	public static Mapper zGetPackageableElementAssociationSubClassMapper()
	{
		if (associationSubClassMapper == null)
		{
			associationSubClassMapper = zConstructPackageableElementAssociationSubClassMapper();
		}

		return associationSubClassMapper;
	}

	private static Mapper associationSubClassPureReverseMapper = null;
	public static Mapper zGetPackageableElementAssociationSubClassPureReverseMapper()
	{
		if (associationSubClassPureReverseMapper == null)
		{
			associationSubClassPureReverseMapper = zConstructPackageableElementAssociationSubClassPureReverseMapper();
		}

		return associationSubClassPureReverseMapper;
	}

	private static Mapper zConstructPackageableElementAssociationSubClassPureReverseMapper()
	{
		Mapper associationSubClassMapper = PackageableElementFinder.zGetConstantJoin(4);
		associationSubClassMapper.setName("associationSubClass");
		return associationSubClassMapper;
	}

	private static Mapper zConstructPackageableElementAssociationSubClassReverseMapper()
	{
		Mapper associationSubClassMapper = PackageableElementFinder.zGetConstantJoin(4);
		associationSubClassMapper.setName("associationSubClass");
		return associationSubClassMapper;
	}

	private static Mapper zConstructPackageableElementAssociationSubClassMapper()
	{
		Mapper associationSubClassMapper = PackageableElementFinder.zGetConstantJoin(5);
		associationSubClassMapper.setName("packageableElementSuperClass");
		return associationSubClassMapper;
	}

	private static Mapper namedProjectionSubClassReverseMapper = null;
	public static Mapper zGetPackageableElementNamedProjectionSubClassReverseMapper()
	{
		if (namedProjectionSubClassReverseMapper == null)
		{
			namedProjectionSubClassReverseMapper = zConstructPackageableElementNamedProjectionSubClassReverseMapper();
		}

		return namedProjectionSubClassReverseMapper;
	}

	private static Mapper namedProjectionSubClassMapper = null;
	public static Mapper zGetPackageableElementNamedProjectionSubClassMapper()
	{
		if (namedProjectionSubClassMapper == null)
		{
			namedProjectionSubClassMapper = zConstructPackageableElementNamedProjectionSubClassMapper();
		}

		return namedProjectionSubClassMapper;
	}

	private static Mapper namedProjectionSubClassPureReverseMapper = null;
	public static Mapper zGetPackageableElementNamedProjectionSubClassPureReverseMapper()
	{
		if (namedProjectionSubClassPureReverseMapper == null)
		{
			namedProjectionSubClassPureReverseMapper = zConstructPackageableElementNamedProjectionSubClassPureReverseMapper();
		}

		return namedProjectionSubClassPureReverseMapper;
	}

	private static Mapper zConstructPackageableElementNamedProjectionSubClassPureReverseMapper()
	{
		Mapper namedProjectionSubClassMapper = PackageableElementFinder.zGetConstantJoin(6);
		namedProjectionSubClassMapper.setName("namedProjectionSubClass");
		return namedProjectionSubClassMapper;
	}

	private static Mapper zConstructPackageableElementNamedProjectionSubClassReverseMapper()
	{
		Mapper namedProjectionSubClassMapper = PackageableElementFinder.zGetConstantJoin(6);
		namedProjectionSubClassMapper.setName("namedProjectionSubClass");
		return namedProjectionSubClassMapper;
	}

	private static Mapper zConstructPackageableElementNamedProjectionSubClassMapper()
	{
		Mapper namedProjectionSubClassMapper = PackageableElementFinder.zGetConstantJoin(7);
		namedProjectionSubClassMapper.setName("packageableElementSuperClass");
		return namedProjectionSubClassMapper;
	}

	private static Mapper serviceGroupSubClassReverseMapper = null;
	public static Mapper zGetPackageableElementServiceGroupSubClassReverseMapper()
	{
		if (serviceGroupSubClassReverseMapper == null)
		{
			serviceGroupSubClassReverseMapper = zConstructPackageableElementServiceGroupSubClassReverseMapper();
		}

		return serviceGroupSubClassReverseMapper;
	}

	private static Mapper serviceGroupSubClassMapper = null;
	public static Mapper zGetPackageableElementServiceGroupSubClassMapper()
	{
		if (serviceGroupSubClassMapper == null)
		{
			serviceGroupSubClassMapper = zConstructPackageableElementServiceGroupSubClassMapper();
		}

		return serviceGroupSubClassMapper;
	}

	private static Mapper serviceGroupSubClassPureReverseMapper = null;
	public static Mapper zGetPackageableElementServiceGroupSubClassPureReverseMapper()
	{
		if (serviceGroupSubClassPureReverseMapper == null)
		{
			serviceGroupSubClassPureReverseMapper = zConstructPackageableElementServiceGroupSubClassPureReverseMapper();
		}

		return serviceGroupSubClassPureReverseMapper;
	}

	private static Mapper zConstructPackageableElementServiceGroupSubClassPureReverseMapper()
	{
		Mapper serviceGroupSubClassMapper = PackageableElementFinder.zGetConstantJoin(8);
		serviceGroupSubClassMapper.setName("serviceGroupSubClass");
		return serviceGroupSubClassMapper;
	}

	private static Mapper zConstructPackageableElementServiceGroupSubClassReverseMapper()
	{
		Mapper serviceGroupSubClassMapper = PackageableElementFinder.zGetConstantJoin(8);
		serviceGroupSubClassMapper.setName("serviceGroupSubClass");
		return serviceGroupSubClassMapper;
	}

	private static Mapper zConstructPackageableElementServiceGroupSubClassMapper()
	{
		Mapper serviceGroupSubClassMapper = PackageableElementFinder.zGetConstantJoin(9);
		serviceGroupSubClassMapper.setName("packageableElementSuperClass");
		return serviceGroupSubClassMapper;
	}

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

	/** maps to \"PACKAGEABLE_ELEMENT\".\"ORDINAL\" **/
	public static IntegerAttribute ordinal()
	{
		return finder.ordinal();
	}

	/** maps to \"PACKAGEABLE_ELEMENT\".\"PACKAGE_NAME\" **/
	public static StringAttribute packageName()
	{
		return finder.packageName();
	}

	public static EnumerationFinder.EnumerationSingleFinderForRelatedClasses enumerationSubClass()
	{
		return finder.enumerationSubClass();
	}

	public static class PackageableElementEnumerationSubClassFinderSubclass extends EnumerationFinder.EnumerationSingleFinderForRelatedClasses
	{
		public PackageableElementEnumerationSubClassFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "enumerationSubClass";
		}

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

		public boolean isModifiedSinceDetachment(MithraTransactionalObject _obj)
		{
			return ((PackageableElement) _obj).isEnumerationSubClassModifiedSinceDetachment();
		}

		protected Enumeration plainValueOf(PackageableElement _obj)
		{
			return _obj.getEnumerationSubClass();
		}

		protected EnumerationList plainListValueOf(Object _obj)
		{
			return ((PackageableElementList)_obj).getEnumerationSubClass();
		}
	}

	public static ClassifierFinder.ClassifierSingleFinderForRelatedClasses classifierSubClass()
	{
		return finder.classifierSubClass();
	}

	public static class PackageableElementClassifierSubClassFinderSubclass extends ClassifierFinder.ClassifierSingleFinderForRelatedClasses
	{
		public PackageableElementClassifierSubClassFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "classifierSubClass";
		}

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

		public boolean isModifiedSinceDetachment(MithraTransactionalObject _obj)
		{
			return ((PackageableElement) _obj).isClassifierSubClassModifiedSinceDetachment();
		}

		protected Classifier plainValueOf(PackageableElement _obj)
		{
			return _obj.getClassifierSubClass();
		}

		protected ClassifierList plainListValueOf(Object _obj)
		{
			return ((PackageableElementList)_obj).getClassifierSubClass();
		}
	}

	public static AssociationFinder.AssociationSingleFinderForRelatedClasses associationSubClass()
	{
		return finder.associationSubClass();
	}

	public static class PackageableElementAssociationSubClassFinderSubclass extends AssociationFinder.AssociationSingleFinderForRelatedClasses
	{
		public PackageableElementAssociationSubClassFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "associationSubClass";
		}

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

		public boolean isModifiedSinceDetachment(MithraTransactionalObject _obj)
		{
			return ((PackageableElement) _obj).isAssociationSubClassModifiedSinceDetachment();
		}

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

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

	public static NamedProjectionFinder.NamedProjectionSingleFinderForRelatedClasses namedProjectionSubClass()
	{
		return finder.namedProjectionSubClass();
	}

	public static class PackageableElementNamedProjectionSubClassFinderSubclass extends NamedProjectionFinder.NamedProjectionSingleFinderForRelatedClasses
	{
		public PackageableElementNamedProjectionSubClassFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "namedProjectionSubClass";
		}

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

		public boolean isModifiedSinceDetachment(MithraTransactionalObject _obj)
		{
			return ((PackageableElement) _obj).isNamedProjectionSubClassModifiedSinceDetachment();
		}

		protected NamedProjection plainValueOf(PackageableElement _obj)
		{
			return _obj.getNamedProjectionSubClass();
		}

		protected NamedProjectionList plainListValueOf(Object _obj)
		{
			return ((PackageableElementList)_obj).getNamedProjectionSubClass();
		}
	}

	public static ServiceGroupFinder.ServiceGroupSingleFinderForRelatedClasses serviceGroupSubClass()
	{
		return finder.serviceGroupSubClass();
	}

	public static class PackageableElementServiceGroupSubClassFinderSubclass extends ServiceGroupFinder.ServiceGroupSingleFinderForRelatedClasses
	{
		public PackageableElementServiceGroupSubClassFinderSubclass(Mapper mapper, NormalAndListValueSelector parentSelector )
		{
			super(mapper);
			this._parentSelector = (AbstractRelatedFinder) parentSelector;
			this._orderBy = null;
			this._type = SIMPLE_TO_ONE;
			this._name = "serviceGroupSubClass";
		}

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

		public boolean isModifiedSinceDetachment(MithraTransactionalObject _obj)
		{
			return ((PackageableElement) _obj).isServiceGroupSubClassModifiedSinceDetachment();
		}

		protected ServiceGroup plainValueOf(PackageableElement _obj)
		{
			return _obj.getServiceGroupSubClass();
		}

		protected ServiceGroupList plainListValueOf(Object _obj)
		{
			return ((PackageableElementList)_obj).getServiceGroupSubClass();
		}
	}

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

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

	public static PackageableElementSingleFinder 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)
	{
	}

	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);
		}

		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));
		}

		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.PackageableElement");
		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