public class org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel extends java.lang.Object implements java.io.Serializable
{
private static final long serialVersionUID;
private static final int MAX_SIZE;
private final java.util.Map bookmarkByOidStr;
private final java.util.Map oidStrByBookmark;
private final java.util.List list;
private final transient org.apache.isis.core.runtime.context.IsisAppCommonContext commonContext;
private java.lang.String mostRecentlyVisitedOidStr;
public void <init>(org.apache.isis.core.runtime.context.IsisAppCommonContext)
{
org.apache.isis.core.runtime.context.IsisAppCommonContext v;
java.util.HashMap v, v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
java.util.ArrayList v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: org.apache.isis.core.runtime.context.IsisAppCommonContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.isis.commons.internal.collections._Maps: java.util.HashMap newHashMap()>();
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map bookmarkByOidStr> = v;
v = staticinvoke <org.apache.isis.commons.internal.collections._Maps: java.util.HashMap newHashMap()>();
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map oidStrByBookmark> = v;
v = staticinvoke <org.apache.isis.commons.internal.collections._Lists: java.util.ArrayList newArrayList()>();
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list> = v;
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: org.apache.isis.core.runtime.context.IsisAppCommonContext commonContext> = v;
return;
}
public java.util.List getList()
{
java.util.Iterator v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
java.util.ArrayList v;
java.util.List v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v = staticinvoke <org.apache.isis.commons.internal.collections._Lists: java.util.ArrayList newArrayList()>();
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: org.apache.isis.viewer.wicket.model.models.EntityModel toEntityModel(org.apache.isis.applib.services.bookmark.Bookmark)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
return v;
}
public void visitedHomePage()
{
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String mostRecentlyVisitedOidStr> = null;
return;
}
public org.apache.isis.viewer.wicket.model.models.EntityModel getMostRecentlyVisited()
{
java.lang.String v, v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String mostRecentlyVisitedOidStr>;
if v == null goto label;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String mostRecentlyVisitedOidStr>;
v = virtualinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: org.apache.isis.viewer.wicket.model.models.EntityModel lookup(java.lang.String)>(v);
goto label;
label:
v = null;
label:
return v;
}
public void visited(org.apache.isis.viewer.wicket.model.models.EntityModel)
{
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
java.lang.String v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
boolean v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: org.apache.isis.viewer.wicket.model.models.EntityModel;
v = virtualinvoke v.<org.apache.isis.viewer.wicket.model.models.EntityModel: org.apache.isis.core.metamodel.spec.ObjectSpecification getTypeOfSpecification()>();
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: boolean isViewModel()>();
if v == 0 goto label;
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String mostRecentlyVisitedOidStr> = null;
return;
label:
v = specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String oidStrFrom(org.apache.isis.viewer.wicket.model.models.EntityModel)>(v);
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String mostRecentlyVisitedOidStr> = v;
virtualinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: void remove(java.lang.String)>(v);
specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: void addToStart(java.lang.String,org.apache.isis.viewer.wicket.model.models.EntityModel)>(v, v);
specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: void trimTo(int)>(5);
return;
}
private java.lang.String oidStrFrom(org.apache.isis.viewer.wicket.model.models.EntityModel)
{
org.apache.wicket.request.mapper.parameter.PageParameters v;
java.lang.String v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: org.apache.isis.viewer.wicket.model.models.EntityModel;
v = virtualinvoke v.<org.apache.isis.viewer.wicket.model.models.EntityModel: org.apache.wicket.request.mapper.parameter.PageParameters getPageParametersWithoutUiHints()>();
v = specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String oidStrFrom(org.apache.wicket.request.mapper.parameter.PageParameters)>(v);
return v;
}
private java.lang.String oidStrFrom(org.apache.wicket.request.mapper.parameter.PageParameters)
{
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
java.util.function.Function v;
java.lang.Exception v;
org.apache.wicket.request.mapper.parameter.PageParameters v;
java.util.Optional v, v;
org.apache.isis.viewer.wicket.model.mementos.PageParameterNames v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: org.apache.wicket.request.mapper.parameter.PageParameters;
v = <org.apache.isis.viewer.wicket.model.mementos.PageParameterNames: org.apache.isis.viewer.wicket.model.mementos.PageParameterNames OBJECT_OID>;
v = virtualinvoke v.<org.apache.isis.viewer.wicket.model.mementos.PageParameterNames: java.lang.String getStringFrom(org.apache.wicket.request.mapper.parameter.PageParameters)>(v);
if v != null goto label;
return null;
label:
v = staticinvoke <org.apache.isis.applib.services.bookmark.Bookmark: java.util.Optional parse(java.lang.String)>(v);
v = staticinvoke <org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel$stringify__196: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
label:
return v;
label:
v := @caughtexception;
return null;
catch java.lang.Exception from label to label with label;
}
private void addToStart(java.lang.String, org.apache.isis.viewer.wicket.model.models.EntityModel)
{
java.util.List v;
java.util.Map v, v;
org.apache.isis.applib.services.bookmark.Bookmark v;
java.lang.String v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: java.lang.String;
v := @parameter: org.apache.isis.viewer.wicket.model.models.EntityModel;
v = virtualinvoke v.<org.apache.isis.viewer.wicket.model.models.EntityModel: org.apache.isis.applib.services.bookmark.Bookmark getOwnerBookmark()>();
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map bookmarkByOidStr>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map oidStrByBookmark>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(0, v);
return;
}
private void trimTo(int)
{
java.util.Iterator v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
java.util.List v, v, v, v;
java.util.Map v;
int v, v, v;
java.lang.Object v, v;
boolean v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: int;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v > v goto label;
return;
label:
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map oidStrByBookmark>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: void remove(java.lang.String,org.apache.isis.applib.services.bookmark.Bookmark)>(v, v);
goto label;
label:
return;
}
public org.apache.isis.viewer.wicket.model.models.EntityModel lookup(java.lang.String)
{
java.util.Map v;
java.lang.Object v;
java.lang.String v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map bookmarkByOidStr>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: org.apache.isis.viewer.wicket.model.models.EntityModel toEntityModel(org.apache.isis.applib.services.bookmark.Bookmark)>(v);
return v;
}
public void detach()
{
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
return;
}
void remove(java.lang.String)
{
java.util.Map v;
java.lang.Object v;
java.lang.String v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: java.lang.String;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map bookmarkByOidStr>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: void remove(java.lang.String,org.apache.isis.applib.services.bookmark.Bookmark)>(v, v);
label:
return;
}
public void remove(org.apache.isis.viewer.wicket.model.models.EntityModel)
{
java.util.Map v;
org.apache.isis.applib.services.bookmark.Bookmark v;
java.lang.Object v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: org.apache.isis.viewer.wicket.model.models.EntityModel;
v = virtualinvoke v.<org.apache.isis.viewer.wicket.model.models.EntityModel: org.apache.isis.applib.services.bookmark.Bookmark getOwnerBookmark()>();
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map oidStrByBookmark>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
specialinvoke v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: void remove(java.lang.String,org.apache.isis.applib.services.bookmark.Bookmark)>(v, v);
label:
return;
}
protected org.apache.isis.viewer.wicket.model.models.EntityModel toEntityModel(org.apache.isis.applib.services.bookmark.Bookmark)
{
org.apache.isis.applib.services.bookmark.Bookmark v;
org.apache.isis.core.runtime.context.IsisAppCommonContext v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
org.apache.isis.viewer.wicket.model.models.EntityModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: org.apache.isis.applib.services.bookmark.Bookmark;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: org.apache.isis.core.runtime.context.IsisAppCommonContext commonContext>;
v = staticinvoke <org.apache.isis.viewer.wicket.model.models.EntityModel: org.apache.isis.viewer.wicket.model.models.EntityModel ofBookmark(org.apache.isis.core.runtime.context.IsisAppCommonContext,org.apache.isis.applib.services.bookmark.Bookmark)>(v, v);
return v;
}
private void remove(java.lang.String, org.apache.isis.applib.services.bookmark.Bookmark)
{
java.util.List v;
java.util.Map v, v;
org.apache.isis.applib.services.bookmark.Bookmark v;
java.lang.String v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v := @parameter: java.lang.String;
v := @parameter: org.apache.isis.applib.services.bookmark.Bookmark;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map bookmarkByOidStr>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map oidStrByBookmark>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
return;
}
public synchronized void clear()
{
java.util.List v;
java.util.Map v, v;
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel v;
v := @this: org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map bookmarkByOidStr>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.Map oidStrByBookmark>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.util.List list>;
interfaceinvoke v.<java.util.List: void clear()>();
v.<org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel: java.lang.String mostRecentlyVisitedOidStr> = null;
return;
}
}