mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-29 12:09:07 +00:00
Schema good
This commit is contained in:
@@ -99,6 +99,64 @@ public class ObjectResourceLoader extends ResourceLoader<IrisObject>
|
||||
}
|
||||
}
|
||||
|
||||
public String[] getPreferredKeys()
|
||||
{
|
||||
if(preferredFolder == null || preferredFolder.isEmpty())
|
||||
{
|
||||
return getPossibleKeys();
|
||||
}
|
||||
|
||||
if(possibleKeys != null)
|
||||
{
|
||||
return possibleKeys;
|
||||
}
|
||||
|
||||
Iris.info("Building " + resourceTypeName + " Preference Lists");
|
||||
KSet<String> m = new KSet<>();
|
||||
|
||||
for(File i : getFolders())
|
||||
{
|
||||
for(File j : i.listFiles())
|
||||
{
|
||||
if(!j.getPath().contains(preferredFolder))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(j.isFile() && j.getName().endsWith(".iob"))
|
||||
{
|
||||
m.add(j.getName().replaceAll("\\Q.iob\\E", ""));
|
||||
}
|
||||
|
||||
else if(j.isDirectory())
|
||||
{
|
||||
for(File k : j.listFiles())
|
||||
{
|
||||
if(k.isFile() && k.getName().endsWith(".iob"))
|
||||
{
|
||||
m.add(j.getName() + "/" + k.getName().replaceAll("\\Q.iob\\E", ""));
|
||||
}
|
||||
|
||||
else if(k.isDirectory())
|
||||
{
|
||||
for(File l : k.listFiles())
|
||||
{
|
||||
if(l.isFile() && l.getName().endsWith(".iob"))
|
||||
{
|
||||
m.add(j.getName() + "/" + k.getName() + "/" + l.getName().replaceAll("\\Q.iob\\E", ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
KList<String> v = new KList<>(m);
|
||||
possibleKeys = v.toArray(new String[v.size()]);
|
||||
return possibleKeys;
|
||||
}
|
||||
|
||||
public String[] getPossibleKeys()
|
||||
{
|
||||
if(possibleKeys != null)
|
||||
@@ -115,7 +173,7 @@ public class ObjectResourceLoader extends ResourceLoader<IrisObject>
|
||||
{
|
||||
if(j.isFile() && j.getName().endsWith(".iob"))
|
||||
{
|
||||
m.add(j.getName().replaceAll("\\Q.json\\E", ""));
|
||||
m.add(j.getName().replaceAll("\\Q.iob\\E", ""));
|
||||
}
|
||||
|
||||
else if(j.isDirectory())
|
||||
|
||||
@@ -22,6 +22,7 @@ public class ResourceLoader<T extends IrisRegistrant>
|
||||
protected IrisLock lock;
|
||||
protected String preferredFolder = null;
|
||||
protected String[] possibleKeys = null;
|
||||
protected String[] preferredKeys = null;
|
||||
|
||||
public ResourceLoader(File root, String folderName, String resourceTypeName, Class<? extends T> objectClass)
|
||||
{
|
||||
@@ -35,6 +36,53 @@ public class ResourceLoader<T extends IrisRegistrant>
|
||||
loadCache = new KMap<>();
|
||||
}
|
||||
|
||||
public String[] getPreferredKeys()
|
||||
{
|
||||
if(preferredFolder == null || preferredFolder.isEmpty())
|
||||
{
|
||||
return getPossibleKeys();
|
||||
}
|
||||
|
||||
if(preferredKeys != null)
|
||||
{
|
||||
return preferredKeys;
|
||||
}
|
||||
|
||||
Iris.info("Building " + resourceTypeName + " Preference Lists");
|
||||
KSet<String> m = new KSet<>();
|
||||
|
||||
for(File i : getFolders())
|
||||
{
|
||||
for(File j : i.listFiles())
|
||||
{
|
||||
if(!j.getPath().contains(preferredFolder))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(j.isFile() && j.getName().endsWith(".json"))
|
||||
{
|
||||
m.add(j.getName().replaceAll("\\Q.json\\E", ""));
|
||||
}
|
||||
|
||||
else if(j.isDirectory())
|
||||
{
|
||||
for(File k : j.listFiles())
|
||||
{
|
||||
if(k.isFile() && k.getName().endsWith(".json"))
|
||||
{
|
||||
m.add(j.getName() + "/" + k.getName().replaceAll("\\Q.json\\E", ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
KList<String> v = new KList<>(m);
|
||||
preferredKeys = v.toArray(new String[v.size()]);
|
||||
return preferredKeys;
|
||||
}
|
||||
|
||||
public String[] getPossibleKeys()
|
||||
{
|
||||
if(possibleKeys != null)
|
||||
|
||||
Reference in New Issue
Block a user