001 package com.oxygenxml.validate.nvdl;
002
003 import com.thaiopensource.validate.Schema;
004
005 /**
006 * Action set for attributes.
007 * Consistes of two flags (attach, reject) and a list of schemas.
008 */
009 class AttributeActionSet {
010 /**
011 * Attach flag.
012 */
013 private boolean attach;
014
015 /**
016 * Reject flag.
017 */
018 private boolean reject;
019
020 /**
021 * Cancel nested actions flag.
022 */
023 private boolean cancelNestedActions;
024
025 /**
026 * An array of schemas.
027 */
028 private Schema[] schemas = new Schema[0];
029
030 /**
031 * Getter for the attach flag.
032 * @return attach.
033 */
034 boolean getAttach() {
035 return attach;
036 }
037
038 /**
039 * Setter for the attach flag.
040 *
041 * @param attach The new attach value.
042 */
043 void setAttach(boolean attach) {
044 this.attach = attach;
045 }
046
047 /**
048 * Getter for the reject flag.
049 * @return reject.
050 */
051 boolean getReject() {
052 return reject;
053 }
054
055 /**
056 * Setter for the reject flag.
057 * @param reject The new reject flag value.
058 */
059 void setReject(boolean reject) {
060 this.reject = reject;
061 }
062
063 /**
064 * Getter for the cancel nested actions flag.
065 */
066 boolean getCancelNestedActions() {
067 return cancelNestedActions;
068 }
069
070 /**
071 * Set the cancel nested actions flag.
072 * @param cancelNestedActions The new value.
073 */
074 void setCancelNestedActions(boolean cancelNestedActions) {
075 this.cancelNestedActions = cancelNestedActions;
076 }
077
078 /**
079 * Get the schemas array.
080 * @return The array of Schema objects.
081 */
082 Schema[] getSchemas() {
083 return schemas;
084 }
085
086 /**
087 * Add a new Schema.
088 * @param schema The schema to be added.
089 */
090 void addSchema(Schema schema) {
091 Schema[] s = new Schema[schemas.length + 1];
092 System.arraycopy(schemas, 0, s, 0, schemas.length);
093 s[schemas.length] = schema;
094 schemas = s;
095 }
096 }