Diff
checker
Text
Text
Bilder
Dokumente
Excel
Ordner
Legal
Enterprise
Desktop-App
Preise
Einloggen
Diffchecker Desktop herunterladen
Texte vergleichen
Finde den Unterschied zwischen zwei Textdateien
Werkzeuge
Verlauf
Live-Editor
Gleiches ausblenden
Zeilenumbruch aus
Ansicht
Zweispaltig
Einspaltig
Vergleichsgenauigkeit
Intelligent
Wort
Zeichen
Syntaxhervorhebung
Syntax auswählen
Ignorieren
Text umwandeln
Zur ersten Änderung
Eingabe bearbeiten
Diffchecker Desktop
Der sicherste Weg, Diffchecker zu nutzen. Hol dir die Desktop-App: Deine Diffs verlassen nie deinen Computer!
Desktop holen
ImmutableBean to Immutables rule change example
Erstellt
vor 5 Jahren
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
21 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
60 Zeilen
Kopieren
17 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
59 Zeilen
Kopieren
Kopieren
Kopiert
Kopieren
Kopiert
@Value.Immutable
public interface Config extends RelRule.Config {
public interface Config extends RelRule.Config {
Kopieren
Kopiert
Kopieren
Kopiert
Config DEFAULT =
EMPTY.as(
Config.
class
)
Config DEFAULT =
ImmutableProjectFilterTransposeRule.
Config.
builder(
)
.
withO
perandFor(LogicalProject.class, LogicalFilter.class)
.
o
perandFor(LogicalProject.class, LogicalFilter.class)
.
withP
reserveExprCondition(expr -> false)
.
p
reserveExprCondition(expr -> false)
.w
ithW
holeProject(false)
.w
holeProject(false)
.w
ithW
holeFilter(false)
;
.w
holeFilter(false)
.build()
;
Config PROJECT = DEFAULT.withWholeProject(true);
Config PROJECT = DEFAULT.withWholeProject(true);
Config PROJECT_FILTER = PROJECT.withWholeFilter(true);
Config PROJECT_FILTER = PROJECT.withWholeFilter(true);
@Override default ProjectFilterTransposeRule toRule() {
@Override default ProjectFilterTransposeRule toRule() {
return new ProjectFilterTransposeRule(this);
return new ProjectFilterTransposeRule(this);
}
}
/** Expressions that should be preserved in the projection. */
/** Expressions that should be preserved in the projection. */
Kopieren
Kopiert
Kopieren
Kopiert
@ImmutableBeans.Property
PushProjector.ExprCondition preserveExprCondition();
PushProjector.ExprCondition preserveExprCondition();
/** Sets {@link #preserveExprCondition()}. */
/** Sets {@link #preserveExprCondition()}. */
Config withPreserveExprCondition(PushProjector.ExprCondition condition);
Config withPreserveExprCondition(PushProjector.ExprCondition condition);
/** Whether to push whole expressions from the project;
/** Whether to push whole expressions from the project;
* if false (the default), only pushes references. */
* if false (the default), only pushes references. */
Kopieren
Kopiert
Kopieren
Kopiert
@
ImmutableBeans.Property
@
Value.
Default
default
boolean isWholeProject()
{
@ImmutableBeans.Boolean
Default
(false)
return false;
boolean isWholeProject()
;
}
/** Sets {@link #isWholeProject()}. */
/** Sets {@link #isWholeProject()}. */
Config withWholeProject(boolean wholeProject);
Config withWholeProject(boolean wholeProject);
/** Whether to push whole expressions from the filter;
/** Whether to push whole expressions from the filter;
* if false (the default), only pushes references. */
* if false (the default), only pushes references. */
Kopieren
Kopiert
Kopieren
Kopiert
@
ImmutableBeans.Property
@
Value.
Default
default
boolean isWholeFilter()
{
@ImmutableBeans.Boolean
Default
(false)
return false;
boolean isWholeFilter()
;
}
/** Sets {@link #isWholeFilter()}. */
/** Sets {@link #isWholeFilter()}. */
Config withWholeFilter(boolean wholeFilter);
Config withWholeFilter(boolean wholeFilter);
/** Defines an operand tree for the given classes. */
/** Defines an operand tree for the given classes. */
default Config withOperandFor(Class<? extends Project> projectClass,
default Config withOperandFor(Class<? extends Project> projectClass,
Class<? extends Filter> filterClass) {
Class<? extends Filter> filterClass) {
return withOperandSupplier(b0 ->
return withOperandSupplier(b0 ->
b0.operand(projectClass).oneInput(b1 ->
b0.operand(projectClass).oneInput(b1 ->
Kopieren
Kopiert
Kopieren
Kopiert
b1.operand(filterClass).anyInputs()))
b1.operand(filterClass).anyInputs()))
;
.as(Config.class)
;
}
}
/** Defines an operand tree for the given 3 classes. */
/** Defines an operand tree for the given 3 classes. */
default Config withOperandFor(Class<? extends Project> projectClass,
default Config withOperandFor(Class<? extends Project> projectClass,
Class<? extends Filter> filterClass,
Class<? extends Filter> filterClass,
Class<? extends RelNode> inputClass) {
Class<? extends RelNode> inputClass) {
return withOperandSupplier(b0 ->
return withOperandSupplier(b0 ->
b0.operand(projectClass).oneInput(b1 ->
b0.operand(projectClass).oneInput(b1 ->
b1.operand(filterClass).oneInput(b2 ->
b1.operand(filterClass).oneInput(b2 ->
Kopieren
Kopiert
Kopieren
Kopiert
b2.operand(inputClass).anyInputs())))
b2.operand(inputClass).anyInputs())))
;
.as(Config.class)
;
}
}
}
}
Gespeicherte Diffs
Originaltext
Datei öffnen
public interface Config extends RelRule.Config { Config DEFAULT = EMPTY.as(Config.class) .withOperandFor(LogicalProject.class, LogicalFilter.class) .withPreserveExprCondition(expr -> false) .withWholeProject(false) .withWholeFilter(false); Config PROJECT = DEFAULT.withWholeProject(true); Config PROJECT_FILTER = PROJECT.withWholeFilter(true); @Override default ProjectFilterTransposeRule toRule() { return new ProjectFilterTransposeRule(this); } /** Expressions that should be preserved in the projection. */ @ImmutableBeans.Property PushProjector.ExprCondition preserveExprCondition(); /** Sets {@link #preserveExprCondition()}. */ Config withPreserveExprCondition(PushProjector.ExprCondition condition); /** Whether to push whole expressions from the project; * if false (the default), only pushes references. */ @ImmutableBeans.Property @ImmutableBeans.BooleanDefault(false) boolean isWholeProject(); /** Sets {@link #isWholeProject()}. */ Config withWholeProject(boolean wholeProject); /** Whether to push whole expressions from the filter; * if false (the default), only pushes references. */ @ImmutableBeans.Property @ImmutableBeans.BooleanDefault(false) boolean isWholeFilter(); /** Sets {@link #isWholeFilter()}. */ Config withWholeFilter(boolean wholeFilter); /** Defines an operand tree for the given classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).anyInputs())) .as(Config.class); } /** Defines an operand tree for the given 3 classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass, Class<? extends RelNode> inputClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).oneInput(b2 -> b2.operand(inputClass).anyInputs()))) .as(Config.class); } }
Bearbeitung
Datei öffnen
@Value.Immutable public interface Config extends RelRule.Config { Config DEFAULT = ImmutableProjectFilterTransposeRule.Config.builder() .operandFor(LogicalProject.class, LogicalFilter.class) .preserveExprCondition(expr -> false) .wholeProject(false) .wholeFilter(false) .build(); Config PROJECT = DEFAULT.withWholeProject(true); Config PROJECT_FILTER = PROJECT.withWholeFilter(true); @Override default ProjectFilterTransposeRule toRule() { return new ProjectFilterTransposeRule(this); } /** Expressions that should be preserved in the projection. */ PushProjector.ExprCondition preserveExprCondition(); /** Sets {@link #preserveExprCondition()}. */ Config withPreserveExprCondition(PushProjector.ExprCondition condition); /** Whether to push whole expressions from the project; * if false (the default), only pushes references. */ @Value.Default default boolean isWholeProject() { return false; } /** Sets {@link #isWholeProject()}. */ Config withWholeProject(boolean wholeProject); /** Whether to push whole expressions from the filter; * if false (the default), only pushes references. */ @Value.Default default boolean isWholeFilter() { return false; } /** Sets {@link #isWholeFilter()}. */ Config withWholeFilter(boolean wholeFilter); /** Defines an operand tree for the given classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).anyInputs())); } /** Defines an operand tree for the given 3 classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass, Class<? extends RelNode> inputClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).oneInput(b2 -> b2.operand(inputClass).anyInputs()))); } }
Unterschied finden