View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  package org.opencastproject.assetmanager.impl.query;
22  
23  import com.entwinemedia.fn.Fn;
24  import com.mysema.query.types.EntityPath;
25  import com.mysema.query.types.expr.BooleanExpression;
26  
27  final class Join {
28    // CHECKSTYLE:OFF
29    final EntityPath<?> from;
30    final EntityPath<?> join;
31    final BooleanExpression on;
32    // CHECKSTYLE:ON
33  
34    Join(EntityPath<?> from, EntityPath<?> join, BooleanExpression on) {
35      this.from = from;
36      this.join = join;
37      this.on = on;
38    }
39  
40    static final Fn<Join, EntityPath<?>> getFrom = new Fn<Join, EntityPath<?>>() {
41      @Override public EntityPath<?> apply(Join a) {
42        return a.from;
43      }
44    };
45  
46    static final Fn<Join, EntityPath<?>> getJoin = new Fn<Join, EntityPath<?>>() {
47      @Override public EntityPath<?> apply(Join a) {
48        return a.join;
49      }
50    };
51  
52  }