コード例 #1
0
ファイル: TxStateImpl.java プロジェクト: joeywu/neo4j
  @Override
  public void accept(final Visitor visitor) {
    if (hasNodeStatesMap() && !nodeStatesMap().isEmpty()) {
      for (NodeState node : nodeStates()) {
        DiffSets<Long> labelDiff = node.labelDiffSets();
        visitor.visitNodeLabelChanges(node.getId(), labelDiff.getAdded(), labelDiff.getRemoved());
      }
    }

    if (hasIndexChangesDiffSets() && !indexChanges().isEmpty()) {
      indexChanges().accept(indexVisitor(visitor, false));
    }

    if (hasConstraintIndexChangesDiffSets() && !constraintIndexChanges().isEmpty()) {
      constraintIndexChanges().accept(indexVisitor(visitor, true));
    }

    if (hasConstraintsChangesDiffSets() && !constraintsChanges().isEmpty()) {
      constraintsChanges()
          .accept(
              new DiffSets.Visitor<UniquenessConstraint>() {
                @Override
                public void visitAdded(UniquenessConstraint element) {
                  visitor.visitAddedConstraint(
                      element, createdConstraintIndexesByConstraint().get(element));
                }

                @Override
                public void visitRemoved(UniquenessConstraint element) {
                  visitor.visitRemovedConstraint(element);
                }
              });
    }
  }