public class org.apache.jackrabbit.jcr2spi.state.ChangeLog extends java.lang.Object
{
private static final org.slf4j.Logger log;
private final org.apache.jackrabbit.jcr2spi.state.ItemState target;
private final java.util.Set operations;
private final java.util.Set affectedStates;
void <init>(org.apache.jackrabbit.jcr2spi.state.ItemState, java.util.Set, java.util.Set) throws javax.jcr.InvalidItemStateException, javax.jcr.nodetype.ConstraintViolationException
{
java.util.Set v, v;
org.apache.jackrabbit.jcr2spi.state.ItemState v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v := @parameter: org.apache.jackrabbit.jcr2spi.state.ItemState;
v := @parameter: java.util.Set;
v := @parameter: java.util.Set;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.apache.jackrabbit.jcr2spi.state.ItemState target> = v;
v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations> = v;
v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set affectedStates> = v;
return;
}
public void persisted() throws javax.jcr.RepositoryException
{
org.apache.jackrabbit.jcr2spi.state.NodeState v, v;
boolean v, v, v, v, v, v, v, v;
java.util.Set v, v, v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry v;
java.lang.Object[] v;
org.apache.jackrabbit.jcr2spi.operation.Operation[] v;
java.util.ArrayList v, v;
int v, v, v, v, v;
org.apache.jackrabbit.jcr2spi.operation.Operation v, v, v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v;
org.apache.jackrabbit.spi.Name v, v;
java.lang.Object v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
v = interfaceinvoke v.<java.util.Set: int size()>();
v = newarray (org.apache.jackrabbit.jcr2spi.operation.Operation)[v];
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.operation.Operation: void persisted()>();
v = v[v];
v = v instanceof org.apache.jackrabbit.jcr2spi.operation.SetMixin;
if v == 0 goto label;
v = v[v];
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.operation.SetMixin: org.apache.jackrabbit.jcr2spi.state.NodeState getNodeState()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v[v];
v = v instanceof org.apache.jackrabbit.jcr2spi.operation.SetPrimaryType;
if v == 0 goto label;
v = v[v];
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.operation.SetPrimaryType: org.apache.jackrabbit.jcr2spi.state.NodeState getNodeState()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set affectedStates>;
v = interfaceinvoke v.<java.util.Set: 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.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: int getStatus()>();
tableswitch(v)
{
case -1: goto label;
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: void setStatus(int)>(1);
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: boolean isNode()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(1);
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(0);
goto label;
label:
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void remove()>();
goto label;
label:
v = <org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.spi.Name getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.jackrabbit.spi.Name)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ChangeLog still contains NEW state: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: void setStatus(int)>(1);
goto label;
label:
v = <org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.spi.Name getName()>();
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: int getStatus()>();
v = staticinvoke <org.apache.jackrabbit.jcr2spi.state.Status: java.lang.String getName(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.jackrabbit.spi.Name,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ChangeLog contains state (\u) with illegal status \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: boolean isNode()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(0);
goto label;
label:
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(0);
goto label;
label:
return;
}
public void undo() throws javax.jcr.RepositoryException
{
java.lang.Object[] v;
org.apache.jackrabbit.jcr2spi.operation.Operation[] v;
int v, v, v, v, v;
org.apache.jackrabbit.jcr2spi.operation.Operation v;
java.lang.String v, v, v;
boolean v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.Set v, v, v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
org.apache.jackrabbit.spi.Name v, v;
org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry v, v;
java.lang.Object v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
v = interfaceinvoke v.<java.util.Set: int size()>();
v = newarray (org.apache.jackrabbit.jcr2spi.operation.Operation)[v];
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = lengthof v;
v = v - 1;
label:
if v < 0 goto label;
v = v[v];
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.operation.Operation: void undo()>();
v = v - 1;
goto label;
label:
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set affectedStates>;
v = interfaceinvoke v.<java.util.Set: 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.jackrabbit.jcr2spi.state.ItemState: int getStatus()>();
tableswitch(v)
{
case -1: goto label;
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void revert()>();
goto label;
label:
v = <org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.spi.Name getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.jackrabbit.spi.Name)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ChangeLog still contains NEW state: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void revert()>();
goto label;
label:
v = <org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: org.apache.jackrabbit.spi.Name getName()>();
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.ItemState: int getStatus()>();
v = staticinvoke <org.apache.jackrabbit.jcr2spi.state.Status: java.lang.String getName(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.jackrabbit.spi.Name,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ChangeLog contains state (\u) with illegal status \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
goto label;
label:
return;
}
public org.apache.jackrabbit.jcr2spi.state.ItemState getTarget()
{
org.apache.jackrabbit.jcr2spi.state.ItemState v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.apache.jackrabbit.jcr2spi.state.ItemState target>;
return v;
}
public boolean isEmpty()
{
java.util.Set v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
boolean v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
return v;
}
public java.util.Set getOperations()
{
java.util.Set v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
return v;
}
public java.util.Set getAffectedStates()
{
java.util.Set v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set affectedStates>;
return v;
}
void reset()
{
java.util.Set v, v;
org.apache.jackrabbit.jcr2spi.state.ChangeLog v;
v := @this: org.apache.jackrabbit.jcr2spi.state.ChangeLog;
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set affectedStates>;
interfaceinvoke v.<java.util.Set: void clear()>();
v = v.<org.apache.jackrabbit.jcr2spi.state.ChangeLog: java.util.Set operations>;
interfaceinvoke v.<java.util.Set: void clear()>();
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/jackrabbit/jcr2spi/state/ChangeLog;");
<org.apache.jackrabbit.jcr2spi.state.ChangeLog: org.slf4j.Logger log> = v;
return;
}
}