1 package org.apache.maven.archiva.database.constraints;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.archiva.database.Constraint;
23
24
25
26
27 public class UniqueFieldConstraint
28 extends AbstractSimpleConstraint
29 implements Constraint
30 {
31 private String sql;
32
33 public UniqueFieldConstraint( String className, String fieldName )
34 {
35 sql = "SELECT " + fieldName + " FROM " + className + " GROUP BY " + fieldName + " ORDER BY " + fieldName +
36 " ASCENDING";
37 }
38
39 public UniqueFieldConstraint( String className, String fieldName, String fieldNamePrefix )
40 {
41 sql = "SELECT " + fieldName + " FROM " + className + " WHERE " + fieldName +
42 ".startsWith( fieldPrefix ) PARAMETERS String fieldPrefix GROUP BY " + fieldName + " ORDER BY " +
43 fieldName + " ASCENDING";
44
45 super.params = new Object[]{fieldNamePrefix};
46 }
47
48 public Class<?> getResultClass()
49 {
50 return String.class;
51 }
52
53 public String getSelectSql()
54 {
55 return sql;
56 }
57 }