3 * * Copyright (C) 2014 EBay Software Foundation
5 * * This program and the accompanying materials are made available under the
6 * * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 * * and is available at http://www.eclipse.org/legal/epl-v10.html
9 * * Authors : Ashwin Raveendran
13 package org.opendaylight.ovsdb.lib.operations;
15 import java.util.List;
18 import org.opendaylight.ovsdb.lib.notation.Column;
19 import org.opendaylight.ovsdb.lib.notation.Condition;
20 import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
21 import org.opendaylight.ovsdb.lib.schema.TableSchema;
23 import com.google.common.collect.Lists;
24 import com.google.common.collect.Maps;
26 public class Update<E extends TableSchema<E>> extends Operation<E> implements ConditionalOperation {
28 public static final String UPDATE = "update";
30 Map<String, Object> row = Maps.newHashMap();
33 List<Condition> where = Lists.newArrayList();
35 private String uuidName;
37 public Update(TableSchema<E> schema) {
38 super(schema, UPDATE);
41 public Update<E> on(TableSchema schema){
45 public <T extends TableSchema<T>, D> Update<E> set(ColumnSchema<T, D> columnSchema, D value) {
46 columnSchema.validate(value);
47 Object untypedValue = columnSchema.getNormalizeData(value);
48 this.row.put(columnSchema.getName(), untypedValue);
52 public <T extends TableSchema<T>, D> Update<E> set(Column<T, D> column) {
53 ColumnSchema<T, D> columnSchema = column.getSchema();
54 D value = column.getData();
55 return this.set(columnSchema, value);
58 public Where where(Condition condition) {
60 return new Where(this);
63 public String getUuid() {
67 public void setUuid(String uuid) {
71 public String getUuidName() {
75 public void setUuidName(String uuidName) {
76 this.uuidName = uuidName;
79 public Map<String, Object> getRow() {
83 public void setRow(Map<String, Object> row) {
88 public void addCondition(Condition condition) {
89 this.where.add(condition);
92 public List<Condition> getWhere() {
96 public void setWhere(List<Condition> where) {