AssetStore

abstract class AssetStore

Class AssetStore. Provides assetstore functionality for the Hytale server.

java.lang.Object > AssetStore

Field Summary

fileName

final String fileName

Field fileName.

extraInfo

final ExtraInfo extraInfo

Field extraInfo.

tested

final HashSet> tested

Field tested.

validators

final List> validators

Field validators.

arrayValidator

final ArrayValidator arrayValidator

Field arrayValidator.

validator3

final Validator validator3

Field validator3.

arrayValidator2

final MapKeyValidator arrayValidator2

Field arrayValidator2.

validator4

final Validator validator4

Field validator4.

arrayValidator3

final MapValueValidator arrayValidator3

Field arrayValidator3.

missing

final HashSet missing

Field missing.

unused

final HashSet unused

Field unused.

files

final ArrayList files

Field files.

optionsSet

final Set optionsSet

Field optionsSet.

start

final long start

Field start.

documents

final Set documents

Field documents.

normalize

final Path normalize

Field normalize.

keys

final Set keys

Field keys.

rawAssets

final List> rawAssets

Field rawAssets.

failedToLoadKeys

final Set failedToLoadKeys

Field failedToLoadKeys.

failedToLoadPaths

final Set failedToLoadPaths

Field failedToLoadPaths.

end

final long end

Field end.

diff

final long diff

Field diff.

assetKeys

final Set assetKeys

Field assetKeys.

asset

final T asset

Field asset.

key

final K key

Field key.

allKeys

final Set allKeys

Field allKeys.

toBeRemoved

final Set toBeRemoved

Field toBeRemoved.

temp

final Set temp

Field temp.

iterator

final Iterator iterator

Field iterator.

path

final Path path

Field path.

replacement

final T replacement

Field replacement.

replacementKey

final K replacementKey

Field replacementKey.

dispatcher

final IEventDispatcher dispatcher

Field dispatcher.

assets

final Set assets

Field assets.

id

final K id

Field id.

assetPath

final Path assetPath

Field assetPath.

data

final AssetExtraInfo.Data data

Field data.

parentId

final Object parentId

Field parentId.

bsonValue

final BsonValue bsonValue

Field bsonValue.

parentCodec

final KeyedCodec parentCodec

Field parentCodec.

parentKey

final K parentKey

Field parentKey.

reader

final RawJsonReader reader

Field reader.

parent

final T parent

Field parent.

asset2

final T asset2

Field asset2.

generateDispatcher

final IEventDispatcher generateDispatcher

Field generateDispatcher.

iterator2

final Iterator iterator2

Field iterator2.

toReload

final HashSet toReload

Field toReload.

assetStore

final AssetStore assetStore

Field assetStore.

children

final Set children

Field children.

childPath

final Path childPath

Field childPath.

root

final AssetExtraInfo.Data root

Field root.

rootKey

final K rootKey

Field rootKey.

rootPath

final Path rootPath

Field rootPath.

assetClass

final Class assetClass

Field assetClass.

rootPath2

final Path rootPath2

Field rootPath2.

k

final Class k

Field k.

childKeys

final Set childKeys

Field childKeys.

childList

final List childList

Field childList.

containedKey

final Object containedKey

Field containedKey.

result

final AssetLoadResult result

Field result.

data2

final AssetExtraInfo.Data data2

Field data2.

assetStore2

final AssetStore assetStore2

Field assetStore2.

childList2

final List> childList2

Field childList2.

key2

final K key2

Field key2.

containedKey2

final Object containedKey2

Field containedKey2.

resolvedContained

final RawAsset resolvedContained

Field resolvedContained.

result2

final AssetLoadResult result2

Field result2.

rawAsset

final RawAsset rawAsset

Field rawAsset.

finalParent

final T finalParent

Field finalParent.

buffer

final char[] buffer

Field buffer.

value

final char[] value

Field value.

read_BUFFER

final ThreadLocal read_BUFFER

Field read_BUFFER.

waiting

final RawAsset waiting

Field waiting.

keyCodec

final KeyedCodec keyCodec

Field keyCodec.

pathStr

final String pathStr

Field pathStr.

message

final String message

Field message.

sb

final StringBuilder sb

Field sb.

set

final Set set

Field set.

child

final K child

Field child.

keyStr

final String keyStr

Field keyStr.

expected

final String expected

Field expected.

unknownKeys

final List unknownKeys

Field unknownKeys.

unknownKey

final String unknownKey

Field unknownKey.

extension

protected String extension

Field extension.

isUnknown

protected Predicate isUnknown

Field isUnknown.

unmodifiable

protected boolean unmodifiable

Field unmodifiable.

preAddedAssets

protected List preAddedAssets

Field preAddedAssets.

Method Detail

AssetStore

public public AssetStore (@Nonnull final Builder builder)

Method AssetStore.

Parameters:
@Nonnull final Builder builder

IllegalArgumentException

public new IllegalArgumentException ("AssetStore for " + this.tClass.getSimpleName()

Method IllegalArgumentException.

Parameters:
"AssetStore for " + this.tClass.getSimpleName(

getKeyClass

public Class getKeyClass ()

Method getKeyClass.

getAssetClass

public Class getAssetClass ()

Method getAssetClass.

getPath

public String getPath ()

Method getPath.

getExtension

public String getExtension ()

Method getExtension.

getCodec

public T> getCodec ()

Method getCodec.

getKeyFunction

public K> getKeyFunction ()

Method getKeyFunction.

getLoadsAfter

public JsonAsset>> getLoadsAfter ()

Method getLoadsAfter.

getAssetMap

public M getAssetMap ()

Method getAssetMap.

getReplaceOnRemove

public T> getReplaceOnRemove ()

Method getReplaceOnRemove.

isUnmodifiable

public boolean isUnmodifiable ()

Method isUnmodifiable.

getPreAddedAssets

public List getPreAddedAssets ()

Method getPreAddedAssets.

hasLoadedContainedAssetsFor

public boolean hasLoadedContainedAssetsFor (final Class x)

Method hasLoadedContainedAssetsFor.

Parameters:
final Class x

getIdProvider

public JsonAsset> getIdProvider ()

Method getIdProvider.

getLogger

public HytaleLogger getLogger ()

Method getLogger.

simplifyLoadBeforeDependencies

public void simplifyLoadBeforeDependencies ()

Method simplifyLoadBeforeDependencies.

injectLoadsAfter

public void injectLoadsAfter (final Class aClass)

Method injectLoadsAfter.

Parameters:
final Class aClass

decodeFilePathKey

public K decodeFilePathKey (@Nonnull final Path path)

Method decodeFilePathKey.

Parameters:
@Nonnull final Path path

decodeStringKey

public K decodeStringKey (final String key)

Method decodeStringKey.

Parameters:
final String key

BsonString

public new BsonString (key)

Method BsonString.

Parameters:
key key

transformKey

public K transformKey (@Nullable final Object o)

Method transformKey.

Parameters:
@Nullable final Object o

validate

public void validate (@Nullable final K key, @Nonnull final ValidationResults results, final ExtraInfo extraInfo)

Method validate.

Parameters:
@Nullable final K key
@Nonnull final ValidationResults results
final ExtraInfo extraInfo

validateCodecDefaults

public void validateCodecDefaults ()

Method validateCodecDefaults.

ExtraInfo

public new ExtraInfo (Integer.MAX_VALUE, (Function ValidationResults>)

Method ExtraInfo.

Parameters:
Integer.MAX_VALUE Integer.MAX_VALUE
(Function ValidationResults>

logDependencies

public void logDependencies ()

Method logDependencies.

loadAssetsFromDirectory

public T> loadAssetsFromDirectory (@Nonnull final String packKey, @Nonnull final Path assetsPath)

Method loadAssetsFromDirectory.

Parameters:
@Nonnull final String packKey
@Nonnull final Path assetsPath

visitFile

public FileVisitResult visitFile (@Nonnull final Path file, @Nonnull final BasicFileAttributes attrs)

Method visitFile.

Parameters:
@Nonnull final Path file
@Nonnull final BasicFileAttributes attrs

loadAssetsFromPaths

public T> loadAssetsFromPaths (@Nonnull final String packKey, @Nonnull final List paths)

Method loadAssetsFromPaths.

Parameters:
@Nonnull final String packKey
@Nonnull final List paths

loadBuffersWithKeys

public T> loadBuffersWithKeys (@Nonnull final String packKey, @Nonnull final List> preLoaded, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll)

Method loadBuffersWithKeys.

Parameters:
@Nonnull final String packKey
@Nonnull final List> preLoaded
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll

loadAssets

public T> loadAssets (@Nonnull final String packKey, @Nonnull final List assets)

Method loadAssets.

Parameters:
@Nonnull final String packKey
@Nonnull final List assets

loadAssetsWithReferences

public T> loadAssetsWithReferences (@Nonnull final String packKey, @Nonnull final Map>> assets)

Method loadAssetsWithReferences.

Parameters:
@Nonnull final String packKey
@Nonnull final Map>> assets

NullPointerException

public new NullPointerException (String.format("key can't be null: %s", asset)

Method NullPointerException.

Parameters:
String.format("key can't be null: %s"
asset asset

removeAssetWithPaths

public Set removeAssetWithPaths (@Nonnull final String packKey, @Nonnull final List paths)

Method removeAssetWithPaths.

Parameters:
@Nonnull final String packKey
@Nonnull final List paths

removeAssetWithPath

public Set removeAssetWithPath (final Path path)

Method removeAssetWithPath.

Parameters:
final Path path

removeAssets

public Set removeAssets (@Nonnull final Collection keys)

Method removeAssets.

Parameters:
@Nonnull final Collection keys

RemovedAssetsEvent

public new RemovedAssetsEvent (this.tClass, this.assetMap, toBeRemoved, this.replaceOnRemove != null)

Method RemovedAssetsEvent.

Parameters:
this.tClass this.tClass
this.assetMap this.assetMap
toBeRemoved toBeRemoved
this.replaceOnRemove != null

removeAssetPack

public void removeAssetPack (@Nonnull final String name)

Method removeAssetPack.

Parameters:
@Nonnull final String name

writeAssetToDisk

public T> writeAssetToDisk (@Nonnull final AssetPack pack, @Nonnull final Map assetsByPath)

Method writeAssetToDisk.

Parameters:
@Nonnull final AssetPack pack
@Nonnull final Map assetsByPath

decode

public T decode (@Nonnull final String packKey, @Nonnull final K key, @Nonnull final BsonDocument document)

Method decode.

Parameters:
@Nonnull final String packKey
@Nonnull final K key
@Nonnull final BsonDocument document

addChildAssetReferences

public void addChildAssetReferences (final K parentKey, final Class> childAssetClass, @Nonnull final Set childKeys)

Method addChildAssetReferences.

Parameters:
final K parentKey
final Class> childAssetClass
@Nonnull final Set childKeys

ConcurrentHashMap

public new ConcurrentHashMap ()

Method ConcurrentHashMap.

loadAssets0

protected void loadAssets0 (@Nonnull final String packKey, @Nonnull final Map loadedAssets, @Nonnull final List> preLoaded, @Nonnull final Map loadedKeyToPathMap, @Nonnull final Set failedToLoadKeys, @Nonnull final Set failedToLoadPaths, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll, @Nonnull final Map, AssetLoadResult> childAssetResults)

Method loadAssets0.

Parameters:
@Nonnull final String packKey
@Nonnull final Map loadedAssets
@Nonnull final List> preLoaded
@Nonnull final Map loadedKeyToPathMap
@Nonnull final Set failedToLoadKeys
@Nonnull final Set failedToLoadPaths
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll
@Nonnull final Map, AssetLoadResult> childAssetResults

GenerateAssetsEvent

public new GenerateAssetsEvent (this.tClass, this.assetMap, loadedAssets, loadedAssetChildren)

Method GenerateAssetsEvent.

Parameters:
this.tClass this.tClass
this.assetMap this.assetMap
loadedAssets loadedAssets
loadedAssetChildren loadedAssetChildren

LoadedAssetsEvent

public new LoadedAssetsEvent (this.tClass, this.assetMap, loadedAssets, false, query)

Method LoadedAssetsEvent.

Parameters:
this.tClass this.tClass
this.assetMap this.assetMap
loadedAssets loadedAssets
false false
query query

reloadChildrenContainerAssets

private void reloadChildrenContainerAssets (@Nonnull final String packKey, @Nonnull final Map loadedAssets)

Method reloadChildrenContainerAssets.

Parameters:
@Nonnull final String packKey
@Nonnull final Map loadedAssets

collectChildrenInDifferentFile

private void collectChildrenInDifferentFile (final K key, @Nonnull final Path path, @Nonnull final Set paths, @Nonnull final Map>, Set> typedPaths, @Nonnull final Set ignore)

Method collectChildrenInDifferentFile.

Parameters:
final K key
@Nonnull final Path path
@Nonnull final Set paths
@Nonnull final Map>, Set> typedPaths
@Nonnull final Set ignore

HashSet

public new HashSet ()

Method HashSet.

removeChildrenAssets

protected void removeChildrenAssets (@Nonnull final String packKey, @Nonnull final Set toBeRemoved)

Method removeChildrenAssets.

Parameters:
@Nonnull final String packKey
@Nonnull final Set toBeRemoved

loadContainedAssets

protected void loadContainedAssets (@Nonnull final String packKey, @Nonnull final Collection assets, @Nonnull final Map, AssetLoadResult> childAssetsResults, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll)

Method loadContainedAssets.

Parameters:
@Nonnull final String packKey
@Nonnull final Collection assets
@Nonnull final Map, AssetLoadResult> childAssetsResults
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll

decodeAssets

protected void decodeAssets (@Nonnull final String packKey, @Nonnull final List> rawAssets, @Nonnull final Map loadedAssets, @Nonnull final Map loadedKeyToPathMap, @Nonnull final Map> loadedAssetChildren, @Nonnull final Set failedToLoadKeys, @Nonnull final Set failedToLoadPaths, @Nullable final M assetMap, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll)

Method decodeAssets.

Parameters:
@Nonnull final String packKey
@Nonnull final List> rawAssets
@Nonnull final Map loadedAssets
@Nonnull final Map loadedKeyToPathMap
@Nonnull final Map> loadedAssetChildren
@Nonnull final Set failedToLoadKeys
@Nonnull final Set failedToLoadPaths
@Nullable final M assetMap
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll

executeAssetDecode

public > executeAssetDecode (@Nonnull final Map loadedAssets, @Nonnull final Map loadedKeyToPathMap, @Nonnull final Set failedToLoadKeys, @Nonnull final Set failedToLoadPaths, final M assetMap, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll, @Nonnull final Map> waitingForParent, @Nonnull final RawAsset rawAsset)

Method executeAssetDecode.

Parameters:
@Nonnull final Map loadedAssets
@Nonnull final Map loadedKeyToPathMap
@Nonnull final Set failedToLoadKeys
@Nonnull final Set failedToLoadPaths
final M assetMap
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll
@Nonnull final Map> waitingForParent
@Nonnull final RawAsset rawAsset

decodeAsset0

private AssetHolder decodeAsset0 (@Nonnull final Map loadedAssets, @Nonnull final Map loadedKeyToPathMap, @Nonnull final Set failedToLoadKeys, @Nonnull final Set failedToLoadPaths, @Nullable final M assetMap, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll, @Nonnull final RawAsset rawAsset, @Nonnull final RawJsonReader reader)

Method decodeAsset0.

Parameters:
@Nonnull final Map loadedAssets
@Nonnull final Map loadedKeyToPathMap
@Nonnull final Set failedToLoadKeys
@Nonnull final Set failedToLoadPaths
@Nullable final M assetMap
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll
@Nonnull final RawAsset rawAsset
@Nonnull final RawJsonReader reader

if

public else if (parentCodec.getKey()

Method if.

Parameters:
parentCodec.getKey( parentCodec.getKey(

SkipSentryException

public new SkipSentryException (e2)

Method SkipSentryException.

Parameters:
e2 e2

decodeAssetWithParent0

public T> decodeAssetWithParent0 (@Nonnull final Map loadedAssets, @Nonnull final Map loadedKeyToPathMap, @Nonnull final Map> loadedAssetChildren, @Nonnull final Set failedToLoadKeys, @Nonnull final Set failedToLoadPaths, @Nullable final M assetMap, @Nonnull final AssetUpdateQuery query, final boolean forceLoadAll, @Nonnull final RawAsset rawAsset, @Nonnull final RawJsonReader reader, final T parent)

Method decodeAssetWithParent0.

Parameters:
@Nonnull final Map loadedAssets
@Nonnull final Map loadedKeyToPathMap
@Nonnull final Map> loadedAssetChildren
@Nonnull final Set failedToLoadKeys
@Nonnull final Set failedToLoadPaths
@Nullable final M assetMap
@Nonnull final AssetUpdateQuery query
final boolean forceLoadAll
@Nonnull final RawAsset rawAsset
@Nonnull final RawJsonReader reader
final T parent

loadAllChildren

private void loadAllChildren (@Nonnull final Map loadedAssets, @Nonnull final Collection assetKeys, @Nonnull final Set documents)

Method loadAllChildren.

Parameters:
@Nonnull final Map loadedAssets
@Nonnull final Collection assetKeys
@Nonnull final Set documents

collectAllChildren

protected void collectAllChildren (final K key, @Nonnull final Set children)

Method collectAllChildren.

Parameters:
final K key
@Nonnull final Set children

collectAllChildren0

private boolean collectAllChildren0 (final K key, @Nonnull final Set children)

Method collectAllChildren0.

Parameters:
final K key
@Nonnull final Set children

logChildTree

protected void logChildTree (@Nonnull final StringBuilder sb, final String indent, final K key, @Nonnull final Set children)

Method logChildTree.

Parameters:
@Nonnull final StringBuilder sb
final String indent
final K key
@Nonnull final Set children

logRemoveChildren

protected void logRemoveChildren (final K parentKey, @Nonnull final Set toBeRemoved)

Method logRemoveChildren.

Parameters:
final K parentKey
@Nonnull final Set toBeRemoved

testKeyFormat

protected void testKeyFormat (@Nonnull final K key, @Nullable final Path assetPath)

Method testKeyFormat.

Parameters:
@Nonnull final K key
@Nullable final Path assetPath

logUnusedKeys

public void logUnusedKeys (@Nonnull final K key, @Nullable final Path assetPath, @Nonnull final AssetExtraInfo extraInfo)

Method logUnusedKeys.

Parameters:
@Nonnull final K key
@Nullable final Path assetPath
@Nonnull final AssetExtraInfo extraInfo

key

public Unused key (s)

Method key.

Parameters:
s s

logLoadedAsset

protected void logLoadedAsset (final K key, @Nullable final K parentKey, @Nullable final Path path)

Method logLoadedAsset.

Parameters:
final K key
@Nullable final K parentKey
@Nullable final Path path

logRemoveAsset

protected void logRemoveAsset (final K key, @Nullable final Path path)

Method logRemoveAsset.

Parameters:
final K key
@Nullable final Path path

recordFailedToLoad

private void recordFailedToLoad (@Nonnull final Set failedToLoadKeys, @Nonnull final Set failedToLoadPaths, @Nullable final K key, @Nullable final Path path)

Method recordFailedToLoad.

Parameters:
@Nonnull final Set failedToLoadKeys
@Nonnull final Set failedToLoadPaths
@Nullable final K key
@Nullable final Path path

toString

public String toString ()

Method toString.

Builder

public public Builder (final Class kClass, final Class tClass, final M assetMap)

Method Builder.

Parameters:
final Class kClass
final Class tClass
final M assetMap

setPath

public B setPath (final String path)

Method setPath.

Parameters:
final String path

setExtension

public B setExtension (@Nonnull final String extension)

Method setExtension.

Parameters:
@Nonnull final String extension

setCodec

public B setCodec (final AssetCodec codec)

Method setCodec.

Parameters:
final AssetCodec codec

setKeyFunction

public B setKeyFunction (final Function keyFunction)

Method setKeyFunction.

Parameters:
final Function keyFunction

setIsUnknown

public B setIsUnknown (final Predicate isUnknown)

Method setIsUnknown.

Parameters:
final Predicate isUnknown

loadsAfter

final B loadsAfter (final Class>... clazz)

Method loadsAfter.

Parameters:
final Class>... clazz

loadsBefore

final B loadsBefore (final Class>... clazz)

Method loadsBefore.

Parameters:
final Class>... clazz

setReplaceOnRemove

public B setReplaceOnRemove (final Function replaceOnRemove)

Method setReplaceOnRemove.

Parameters:
final Function replaceOnRemove

unmodifiable

public B unmodifiable ()

Method unmodifiable.

preLoadAssets

public B preLoadAssets (@Nonnull final List list)

Method preLoadAssets.

Parameters:
@Nonnull final List list

setIdProvider

public B setIdProvider (final Class> provider)

Method setIdProvider.

Parameters:
final Class> provider