Update the license for 2017-2018 license
[aai/aai-common.git] / aai-core / src / main / java / org / onap / aai / query / builder / QueryBuilder.java
index f5d4787..89c15f2 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * org.onap.aai
  * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,8 +16,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  */
 package org.onap.aai.query.builder;
 
@@ -111,6 +109,33 @@ public abstract class QueryBuilder<E> implements Iterator<E> {
         */
        public abstract QueryBuilder<Vertex> getVerticesByProperty(String key, List<?> values);
 
+       /**
+        * Gets the vertices that are excluded by property.
+        *
+        * @param key the key
+        * @param value the value
+        * @return the vertices by property
+        */
+       public abstract QueryBuilder<Vertex> getVerticesExcludeByProperty(String key, Object value);
+
+       /**
+        * filters by all the values for this property and excludes the vertices
+        * @param key
+        * @param values
+        * @return vertices that match these values
+        */
+       public QueryBuilder<Vertex> getVerticesExcludeByIndexedProperty(String key, List<?> values) {
+               return this.getVerticesExcludeByProperty(key, values);
+       }
+
+       /**
+        * filters by all the values for this property and excludes the vertices
+        * @param key
+        * @param values
+        * @return vertices that match these values
+        */
+       public abstract QueryBuilder<Vertex> getVerticesExcludeByProperty(String key, List<?> values);
+
        /**
         * Gets the child vertices from parent.
         *
@@ -369,6 +394,9 @@ public abstract class QueryBuilder<E> implements Iterator<E> {
        public abstract QueryBuilder<E> as(String name);
        public abstract QueryBuilder<E> select(String name);
        public abstract QueryBuilder<E> until(QueryBuilder<E> builder);
+       public abstract QueryBuilder<E> groupCount();
+       public abstract QueryBuilder<E> by(String name);
+       public abstract QueryBuilder<E> both();
        
        /**
         * Used to prevent the traversal from repeating its path through the graph.