Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
ImmutableBean to Immutables rule change example
Créé
il y a 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
21 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
60 lignes
Copier tout
17 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
59 lignes
Copier tout
Copier
Copié
Copier
Copié
@Value.Immutable
public interface Config extends RelRule.Config {
public interface Config extends RelRule.Config {
Copier
Copié
Copier
Copié
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. */
Copier
Copié
Copier
Copié
@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. */
Copier
Copié
Copier
Copié
@
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. */
Copier
Copié
Copier
Copié
@
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 ->
Copier
Copié
Copier
Copié
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 ->
Copier
Copié
Copier
Copié
b2.operand(inputClass).anyInputs())))
b2.operand(inputClass).anyInputs())))
;
.as(Config.class)
;
}
}
}
}
Différences enregistrées
Texte d'origine
Ouvrir un fichier
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); } }
Texte modifié
Ouvrir un fichier
@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()))); } }
Trouver la différence