Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * #%L
  * Wikitty :: api
  * %%
  * Copyright (C) 2012 CodeLutin, Benjamin Poussin
  * %%
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as 
  * published by the Free Software Foundation, either version 3 of the 
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public 
 * License along with this program.  If not, see
 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
 * #L%
 */
package org.nuiton.wikitty.query.conditions;
Cette condition n'accept pas d'etre utilise dans une autre condition. Il sert a demander l'extraction d'un autre champs que l'id. Si la valeur du champs est retrouvee plusieurs fois, cette valeur n'apparaitra qu'une seule fois dans les resultats (comme 'DISTINCT' en SQL)

Il y a donc deux types d'utilisation possible

 SELECT extName.fieldName WHERE condition
 condition ... IN (SELECT extName.fieldName WHERE other condition)
 

Author(s):
poussin
Version:
$Revision$ Last update: $Date$ by : $Author$
public class Select extends ContainerUnaryOperator implements ConditionValue{
    private static final long serialVersionUID = 1L;
    protected WikittyQueryFunction function;
    public Select(WikittyQueryFunction function) {
        this. = function;
    }
    public Select(WikittyQueryFunction functionCondition restriction) {
        super(restriction);
        this. = function;
    }
    public WikittyQueryFunction getFunction() {
        return ;
    }
    public void setFunction(WikittyQueryFunction function) {
        this. = function;
    }
    @Override
    boolean equalsDeep(Object other) {
        boolean result = super.equalsDeep(other);
        if (result) {
            Select op = (Select)other;
            result = ObjectUtils.equals(this.getFunction(), op.getFunction());
        }
        return result;
    }
    @Override
    public void accept(WikittyQueryVisitor visitor) {
        boolean walk = visitor.visitEnter(this);
        if (walk &&  != null) {
            .accept(visitor);
        }
        walk = visitor.visitMiddle(this);
        if (walk &&  != null) {
            .accept(visitor);
        }
        visitor.visitLeave(thiswalk);
    }
New to GrepCode? Check out our FAQ X