001: /*
002: * JFolder, Copyright 2001-2006 Gary Steinmetz
003: *
004: * Distributable under LGPL license.
005: * See terms of license at gnu.org.
006: */
007:
008: package org.jfolder.common.function.v1;
009:
010: //base classes
011:
012: //project specific classes
013: import org.jfolder.common.SelfArgumentlessConstructor;
014: import org.jfolder.common.StandardDataTypes;
015: import org.jfolder.common.function.BaseCommonFunctionCompatibilityTag;
016: import org.jfolder.common.function.WebPageTagInstanceViewContext;
017: import org.jfolder.common.function.WebPageTagInstanceViewContextInfo;
018: import org.jfolder.common.tagging.AppraiseConceptTagContext;
019: import org.jfolder.common.tagging.ConceptTagCharacteristic;
020: import org.jfolder.common.tagging.ConceptTagConstraint;
021: import org.jfolder.common.tagging.ConceptTagConstraintHolder;
022: import org.jfolder.common.tagging.ConceptTagFlagsHelper;
023: import org.jfolder.common.tagging.DetermineClassConceptTagContext;
024: import org.jfolder.common.tagging.DetermineValueAndClassConceptTagContext;
025: import org.jfolder.common.tagging.DetermineValueAndClassConceptTagException;
026: import org.jfolder.common.tagging.InitializeConceptTagContext;
027: import org.jfolder.common.tagging.SelectionCriteriaForReturnableConceptTag;
028: import org.jfolder.common.tagging.StaticConceptTagConstraintContext;
029: import org.jfolder.common.tagging.StudioConceptTagCreParInfoContext;
030: import org.jfolder.common.tagging.StudioConceptTagInstanceInfoContext;
031: import org.jfolder.common.tagging.StudioConceptTagTypeInfoContext;
032: import org.jfolder.common.tagging.ValueAndClassForConceptTag;
033: import org.jfolder.common.utils.misc.MiscHelper;
034:
035: //other classes
036:
037: public class CommonFunctionBinCreateEmptyBinTag extends
038: BaseCommonFunctionCompatibilityTag implements
039: SelfArgumentlessConstructor {
040:
041: public void initialize(InitializeConceptTagContext inIctc) {
042:
043: //
044: ConceptTagConstraintHolder rootCtconh = ConceptTagConstraintHolder
045: .newInstance(inIctc);
046: //
047:
048: //
049: ConceptTagFlagsHelper
050: .pushNonIterativeCommonFunctionDepth(inIctc);
051: inIctc.initialize();
052: ConceptTagFlagsHelper
053: .popNonIterativeCommonFunctionDepth(inIctc);
054: }
055:
056: public void appraise(AppraiseConceptTagContext inActc) {
057:
058: if (inActc instanceof StudioConceptTagInstanceInfoContext) {
059:
060: StudioConceptTagInstanceInfoContext sctiic = (StudioConceptTagInstanceInfoContext) inActc;
061:
062: sctiic.setInstanceTitle("Create Empty Binary");
063: sctiic.setInstanceDescription("Create Empty Binary");
064: } else if (inActc instanceof StudioConceptTagTypeInfoContext) {
065:
066: StudioConceptTagTypeInfoContext scttic = (StudioConceptTagTypeInfoContext) inActc;
067:
068: scttic.setTypeTitle("Create Empty Binary");
069: scttic.setTypeDescription("Create Empty Binary");
070: } else if (inActc instanceof WebPageTagInstanceViewContext) {
071:
072: WebPageTagInstanceViewContext wptivc = (WebPageTagInstanceViewContext) inActc;
073:
074: //
075: WebPageTagInstanceViewContextInfo info = wptivc
076: .getInfoAsNonHtml();
077: info.setNonHtmlContent("Binary(Empty)");
078: //wptivc.appendContent();
079: } else if (inActc instanceof SelectionCriteriaForReturnableConceptTag) {
080:
081: SelectionCriteriaForReturnableConceptTag scfrct = (SelectionCriteriaForReturnableConceptTag) inActc;
082:
083: scfrct.canReturnBinary();
084: scfrct.declareFormatAsPlain();
085: } else if (inActc instanceof StudioConceptTagCreParInfoContext) {
086:
087: StudioConceptTagCreParInfoContext scpc = (StudioConceptTagCreParInfoContext) inActc;
088: }
089: }
090:
091: public void determineValueAndClass(
092: DetermineValueAndClassConceptTagContext inDvacctc) {
093:
094: ValueAndClassForConceptTag vacfct = null;
095:
096: vacfct = ValueAndClassForConceptTag.newBinary(new byte[0]);
097:
098: inDvacctc.setDetermineValueAndClass(vacfct);
099: }
100:
101: public void determineClass(DetermineClassConceptTagContext inDcctc) {
102:
103: inDcctc.setDetermineClass(StandardDataTypes.getBinaryClass());
104: }
105:
106: public Object createUninitializedSelf() {
107: return new CommonFunctionBinCreateEmptyBinTag();
108: }
109: }
|