package org.tmatesoft.svn.core.internal.wc17.db; import java.util.Collection; import java.util.Collections; import org.tmatesoft.svn.core.SVNDepth; import org.tmatesoft.svn.core.SVNProperties; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.internal.util.SVNDate; import org.tmatesoft.svn.core.internal.wc17.db.ISVNWCDb.SVNWCDbKind; import org.tmatesoft.svn.core.internal.wc17.db.ISVNWCDb.SVNWCDbStatus; import org.tmatesoft.svn.core.internal.wc17.db.Structure.TypeSafety; import org.tmatesoft.svn.core.wc2.SvnChecksum; public class StructureFields { public enum PristineInfo implements TypeSafety { status(SVNWCDbStatus.class), kind(SVNWCDbKind.class), changed_rev(Long.TYPE), changed_author(String.class), changed_date(SVNDate.class), depth(SVNDepth.class), checksum(SvnChecksum.class), target(String.class), hadProps(Boolean.TYPE), props(SVNProperties.class); public static final Collection<PristineInfo> all = Collections.emptyList(); public static final Collection<PristineInfo> defaults = all; private Class<?> valueType; private PristineInfo(Class<?> valueType) { this.valueType = valueType; } public Class<?> getType() { return valueType; } } public enum RepositoryInfo implements TypeSafety { reposRootUrl(SVNURL.class), reposUuid(String.class); private Class<?> valueType; private RepositoryInfo(Class<?> valueType) { this.valueType = valueType; } public Class<?> getType() { return valueType; } } public enum NodeOriginInfo { isCopy, revision, reposRelpath, reposRootUrl, reposUuid, copyRootAbsPath; } public enum NodeInfo { status, kind, revision, reposRelPath, reposId, reposRootUrl, reposUuid, changedRev, changedDate, changedAuthor, recordedTime, depth, checksum, recordedSize, target, changelist, originalReposId, originalReposRelpath, originalRootUrl, originalUuid, originalRevision, textMod, propsMod, conflicted, lock, haveBase, haveWork, opRoot, hadProps, haveMoreWork, /* base info field */ updateRoot; } public enum WalkerChildInfo { status, kind; } public enum ExternalNodeInfo { kind, presence, reposId, reposRelPath, revision, reposRootUrl, reposUuid, properties, changedRevision, changedDate, changedAuthor, davCache, checksum, target, recordAncestorRelPath, recordedReposRelPath, recordedPegRevision, recordedRevision, conflict, updateActualProperties, newActualProperties, keepRecordedInfo, workItems, iprops, definingAbsPath; } public enum DeletionInfo { baseDelRelPath, movedToRelPath, workDelRelPath, workDelAbsPath, movedToOpRootRelPath } public enum AdditionInfo { status, opRootAbsPath, opRootRelPath, reposRelPath, reposId, reposRootUrl, reposUuid, originalReposRelPath, originalReposId, originalRootUrl, originalUuid, originalRevision, movedFromRelPath, movedFromOpRootRelPath, movedFromOpDepth, } public enum MovedFromInfo { movedFromRelPath, movedFromOpRootRelPath, opDepth, } public enum MovedInfo { movedFromAbsPath, movedFromOpRootAbsPath, opRootAbsPath, movedFromDeleteAbsPath, } public enum InheritedProperties { pathOrURL, properties } }