Package com.esri.gpt.server.assertion.components

Source Code of com.esri.gpt.server.assertion.components.AsnAssertionSet

/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You 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 com.esri.gpt.server.assertion.components;
import com.esri.gpt.framework.util.Val;
import com.esri.gpt.server.assertion.index.AsnIndexReference;
import com.esri.gpt.server.assertion.index.Assertion;

/**
* Represents a configured assertion set (i.e. comments, ratings, ...).
*/
public class AsnAssertionSet {

  /** instance variables ====================================================== */
  private String            assertionIdPrefix;
  private AsnAuthPolicy     authPolicy;
  private AsnIndexReference indexReference;
  private String            name;
  private String            urnPrefix;
  private AsnValueType      valueType;
 
  /** constructors ============================================================ */
 
  /** Default constructor. */
  public AsnAssertionSet() {}
 
  /**
   * Constructs with a supplied name.
   * @param name the name associated with the set
   */
  public AsnAssertionSet(String name) {
    name = Val.chkStr(name);
    if (name.length() == 0) {
      throw new IllegalArgumentException("This name cannot be empty.");
    }
    this.setName(name);
    this.setURNPrefix(AsnConstants.APP_URN_PREFIX+":"+this.getName());
    this.setAssertionIdPrefix(this.getURNPrefix()+":assertionid");
  }
   
  /**
   * Construct by duplicating an existing object.
   * @param objectToDuplicate the object to duplicate
   */
  public AsnAssertionSet(AsnAssertionSet objectToDuplicate) {
    if (objectToDuplicate != null) {
      this.setAssertionIdPrefix(objectToDuplicate.getAssertionIdPrefix());
      this.setName(objectToDuplicate.getName());
      this.setURNPrefix(objectToDuplicate.getURNPrefix());
      if (objectToDuplicate.getAuthPolicy() != null) {
        this.setAuthPolicy(objectToDuplicate.getAuthPolicy().duplicate());
      }
      if (objectToDuplicate.getIndexReference() != null) {
        this.setIndexReference(objectToDuplicate.getIndexReference().duplicate());
      }
      if (objectToDuplicate.getValueType() != null) {
        this.setValueType(objectToDuplicate.getValueType().duplicate());
      }
    }
  }
 
  /** properties ============================================================== */
 
  /**
   * Gets the URN prefix associated with subject assertion IDs.
   * @return the assertion ID prefix
   */
  public String getAssertionIdPrefix() {
    return this.assertionIdPrefix;
  }
  /**
   * Sets the URN prefix associated with subject assertion IDs.
   * @param urnPrefix the assertion ID prefix
   */
  public void setAssertionIdPrefix(String urnPrefix) {
    this.assertionIdPrefix = urnPrefix;
  }
 
  /**
   * Gets the authorization policy.
   * @return the authorization policy
   */
  public AsnAuthPolicy getAuthPolicy() {
    return this.authPolicy;
  }
  /**
   * Sets the authorization policy.
   * @param authPolicy the authorization policy
   */
  public void setAuthPolicy(AsnAuthPolicy authPolicy) {
    this.authPolicy = authPolicy;
  }
 
  /**
   * Gets the configuration reference to index associated with the operation.
   * @return the index configuration reference
   */
  public AsnIndexReference getIndexReference() {
    return this.indexReference;
  }
  /**
   * Sets the configuration reference to index associated with the operation
   * @param indexReference the index configuration reference
   */
  public void setIndexReference(AsnIndexReference indexReference) {
    this.indexReference = indexReference;
  }
 
  /**
   * Gets the name associated with the set.
   * @return the name
   */
  public String getName() {
    return this.name;
  }
  /**
   * Sets the name associated with the set.
   * @param name the name
   */
  public void setName(String name) {
    this.name = name;
  }
   
  /**
   * Gets the URN prefix for this set.
   * @return the URN prefix
   */
  public String getURNPrefix() {
    return this.urnPrefix;
  }
  /**
   * Sets the URN prefix for this set.
   * @param urnPrefix the URN prefix
   */
  public void setURNPrefix(String urnPrefix) {
    this.urnPrefix = urnPrefix;
  }
   
  /**
   * Gets the value type.
   * @return the value type
   */
  public AsnValueType getValueType() {
    return this.valueType;
  }
  /**
   * Sets the value type.
   * @param valueType the value type
   */
  public void setValueType(AsnValueType valueType) {
    this.valueType = valueType;
  }

  /** methods ================================================================= */
 
  /**
   * Produces a deep clone of the object.
   * <br/>The duplication constructor is invoked.
   * <br/>return new AsnAssertionSet(this);
   * @return the duplicated object
   */
  public AsnAssertionSet duplicate() {
    return new AsnAssertionSet(this);
  }
 
  /**
   * Instantiates a new assertion.
   * @param context the assertion operation context
   * @param forCreate true if this assertion will be indexed as part of a "create" operation
   * @return the new assertion
   */
  public Assertion newAssertion(AsnContext context, boolean forCreate) {
    AsnValueType vType = this.getValueType();
    Assertion assertion = new Assertion();
    assertion.getRdfPart().setAnalyzeValue(vType.getAnalyzePriorToIndexing());
    assertion.getRdfPart().setValueField(vType.getRdfValueField());
    if (forCreate) {
      AsnOperation operation = context.getOperation();
      assertion.setSystemPart(operation.getSystemPart());
      assertion.setUserPart(operation.getUserPart());
      assertion.getRdfPart().setSubject(operation.getSubject().getURN());
      assertion.getRdfPart().setPredicate(vType.getRdfPredicate());
      assertion.getRdfPart().setValue(operation.getValue().getTextValue());
    }
    return assertion;
  }
   
}
TOP

Related Classes of com.esri.gpt.server.assertion.components.AsnAssertionSet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.