/* * Copyright (c) 2016 Ericsson Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.sfc.genius.util.appcoexistence; /** * Builder class. Eases the creation of SFC table index mappers */ public class SfcTableIndexMapperBuilder { public static final short EXTERNAL_TABLE_NOT_SET = -1; private short externalTransportClassifierTable = EXTERNAL_TABLE_NOT_SET; private short externalTransportIngressTable = EXTERNAL_TABLE_NOT_SET; private short externalPathMapperTable = EXTERNAL_TABLE_NOT_SET; private short externalPathMapperAclTable = EXTERNAL_TABLE_NOT_SET; private short externalNextHopTable = EXTERNAL_TABLE_NOT_SET; private short externalTransportEgressTable = EXTERNAL_TABLE_NOT_SET; public SfcTableIndexMapperBuilder setClassifierTable( short externalTransportClassifierTable) { this.externalTransportClassifierTable = externalTransportClassifierTable; return this; } public SfcTableIndexMapperBuilder setTransportIngressTable( short externalTransportIngressTable) { this.externalTransportIngressTable = externalTransportIngressTable; return this; } public SfcTableIndexMapperBuilder setPathMapperTable( short externalPathMapperTable) { this.externalPathMapperTable = externalPathMapperTable; return this; } public SfcTableIndexMapperBuilder setPathMapperAclTable( short externalPathMapperAclTable) { this.externalPathMapperAclTable = externalPathMapperAclTable; return this; } public SfcTableIndexMapperBuilder setNextHopTable( short externalNextHopTable) { this.externalNextHopTable = externalNextHopTable; return this; } public SfcTableIndexMapperBuilder setTransportEgressTable( short externalTransportEgressTable) { this.externalTransportEgressTable = externalTransportEgressTable; return this; } public SfcTableIndexMapper build() { return new SfcTableIndexMapper(externalTransportClassifierTable, externalTransportIngressTable, externalPathMapperTable, externalPathMapperAclTable, externalNextHopTable, externalTransportEgressTable); } }