/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kie.workbench.common.services.refactoring.model.index.terms; import org.jboss.errai.common.client.api.annotations.Portable; import org.kie.workbench.common.services.refactoring.service.PartType; import org.uberfire.commons.validation.PortablePreconditions; /** * For document fields that describe shared parts referred to in the resource being indexed. * </p> * "shared parts" are parts of resources that are not "owned" by 1 resource but are defined by multiple resources. * For example, a ruleflow-group, agenda-group or global */ @Portable public class SharedPartIndexTerm implements CompositeIndexTerm { public static final String TERM = "shared"; protected PartType partType; public SharedPartIndexTerm() { // default constructor } public SharedPartIndexTerm(PartType type) { this.partType = PortablePreconditions.checkNotNull( "partType", type ); } @Override public String getTerm() { return TERM + ":" + this.partType.toString(); } @Override public String getTermBase() { return TERM; } }