/* 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.catalog.management;
import com.esri.gpt.framework.util.Val;
/**
* This class defines enums associated with metadata documents.
*/
public class MmdEnums {
public static String INCOMING_STATUS = "INCOMING_STATUS";
/**
* An enumeration describing a metadata record's approval status.
*/
public enum ApprovalStatus {
/** Any status. */
any,
/** Document was posted (default value). */
posted,
/** Document is incomplete. */
incomplete,
/** Document was reviewed. */
reviewed,
/** Document was approved. */
approved,
/** Document was disapproved. */
disapproved,
/** Document is a draft*/
draft,
/** Document action is pending add from thunderdome **/
pending_approved,
/** Document action is pending delete from thunderdome **/
pending_delete,
pending_posted,
pending_incomplete,
pending_reviewed,
pending_disapproved,
pending_draft,
remotely_deleted;
/**
* Checks the value of a String to determine the corresponding enum.
* @param value the string to check
* @return the corresponding enum (default is ApprovalStatus.posted)
*/
public static ApprovalStatus checkValue(String value) {
try {
return ApprovalStatus.valueOf(Val.chkStr(value));
} catch (IllegalArgumentException ex) {
return ApprovalStatus.defaultValue();
}
}
/**
* Returns the default value for the enum.
* @return ApprovalStatus.posted
*/
public static ApprovalStatus defaultValue() {
return ApprovalStatus.posted;
}
/**
* Determines if a status String represents a publicly visible state.
* <br/>ApprovalStatus.approved or ApprovalStatus.reviewed
* @return true if publicly visible
*/
public static boolean isPubliclyVisible(String value) {
try {
ApprovalStatus status = ApprovalStatus.valueOf(Val.chkStr(value));
return status.equals(ApprovalStatus.approved) ||
status.equals(ApprovalStatus.reviewed);
} catch (IllegalArgumentException ex) {}
return false;
}
}
/**
* An enumeration describing the metadata publication method.
*/
public enum PublicationMethod {
/** Any method. */
any,
/** Published through the online editor. */
editor,
/** Published through file upload. */
upload,
/** Published through batch file upload. */
batch,
/** Published through the harvester. */
harvester,
/**
* Published through registration.
*/
registration,
/**
* Published through the sdi.suite smartEditor.
*/
seditor,
/** Published through another method (default value). */
other;
/**
* Checks the value of a String to determine the corresponding enum.
* @param method the string to check
* @return the corresponding enum (default is PublicationMethod.other)
*/
public static PublicationMethod checkValue(String method) {
try {
return PublicationMethod.valueOf(Val.chkStr(method));
} catch (IllegalArgumentException ex) {
return PublicationMethod. defaultValue();
}
}
/**
* Returns the default value for the enum.
* @return PublicationMethod.other
*/
public static PublicationMethod defaultValue() {
return PublicationMethod.other;
}
}
}