de.grogra.pf.registry
public final class Registry extends java.lang.Object implements Transaction.Consumer, GraphTransaction.Consumer, XAListener, SharedObjectProvider, SharedObjectProvider.Binding, javax.swing.tree.TreeModel, RegistryContext, TreeDiff.NodeModel, TypeLoader
Transaction.Consumer.Adapter, Transaction.Consumer.MulticasterGraphTransaction.Consumer.Adapter, GraphTransaction.Consumer.MulticasterXAListener.WeakDelegateSharedObjectProvider.Binding| Modifier and Type | Field and Description |
|---|---|
static JoinedFileSystem |
ALL_FILE_SYSTEMS |
static MimeType |
MIME_TYPE |
static java.lang.String |
NAMESPACE |
static JoinedFileSystem |
PLUGIN_FILE_SYSTEMS |
static java.lang.String |
PROJECT_GRAPH |
static java.lang.String |
REGISTRY_GRAPH |
| Modifier and Type | Method and Description |
|---|---|
boolean |
activateItems() |
void |
addEdgeBits(Node source,
Node target,
int mask) |
void |
addFileSystemListener(javax.swing.event.TreeModelListener l) |
SONodeReference |
addSharedObject(java.lang.String directory,
Shareable object,
java.lang.String name,
boolean objDescribes)
Adds a
SharedObjectNode for object to the meta-graph
(see GraphManager.META_GRAPH) of the
project graph (see getProjectGraph()), and creates
a reference to this node in the specified directory
of this registry. |
void |
addTreeModelListener(javax.swing.event.TreeModelListener l) |
static int |
allocatePropertyId() |
void |
begin() |
void |
beginXA() |
java.lang.Class |
classForName(java.lang.String name) |
void |
commitXA(boolean activateItems) |
static Registry |
create(Registry parentRegistry) |
void |
createGraphs(PersistenceConnection conn) |
org.xml.sax.ContentHandler |
createXMLReader() |
SAXSource |
createXMLSource(java.util.Collection requiredPlugins,
XMLSerializer.Filter filter) |
static Registry |
current() |
void |
dispose() |
void |
end() |
boolean |
equals(java.lang.Object a,
java.lang.Object b) |
Item[] |
findAll(ItemCriterion c,
java.lang.Object info,
boolean resolve) |
Item |
findFirst(ItemCriterion c,
java.lang.Object info,
boolean resolve) |
Item |
findMax(ItemComparator c,
java.lang.Object info,
boolean resolve) |
void |
forAll(ItemCriterion c,
java.lang.Object info,
ItemVisitor cb,
java.lang.Object cbInfo,
boolean resolve) |
int |
getActivationStamp() |
java.lang.Object |
getChild(java.lang.Object parent,
int index) |
int |
getChildCount(java.lang.Object parent) |
java.lang.ClassLoader |
getClassLoader() |
TreeDiff.DiffInfo |
getDiffInfo(java.lang.Object node) |
Item |
getDirectory(java.lang.String path,
PluginDescriptor plugin)
Return the item specified by its absolute
path
or create such an item if does not yet exist. |
java.util.Collection |
getFiles() |
FileSystem |
getFileSystem() |
java.lang.String |
getFileSystemName() |
java.lang.Object |
getImportAttribute(java.lang.String key) |
int |
getIndexOfChild(java.lang.Object parent,
java.lang.Object child) |
Item |
getItem(java.lang.String key) |
java.lang.Object |
getLock() |
java.util.logging.Logger |
getLogger() |
java.util.ArrayList<MethodDescriptionContent> |
getMethodList() |
java.util.ArrayList<java.lang.String> |
getMethodNameList() |
Registry |
getParentRegistry() |
PluginDescriptor |
getPluginDescriptor(java.lang.String pluginId) |
Item |
getPluginDirectory() |
java.lang.Object |
getProjectFile(java.lang.String systemId) |
GraphManager |
getProjectGraph() |
java.lang.String |
getProjectName() |
java.lang.String |
getProviderName() |
Registry |
getRegistry()
Returns the
Registry which is linked with this instance. |
GraphManager |
getRegistryGraph() |
java.lang.Object |
getRoot() |
Registry |
getRootRegistry() |
Transaction |
getTransaction() |
java.lang.Object |
getUserProperty(int id) |
java.lang.Object |
getWriteLock() |
void |
initFileSystem(FileSystem fileSystem) |
void |
initialize() |
void |
insertComponent(PersistenceCapable o,
PersistenceField field,
int[] indices,
Transaction.Reader reader) |
void |
invokeAfterCommit(java.lang.Runnable r) |
boolean |
isActive() |
boolean |
isLeaf(java.lang.Object node) |
boolean |
isRootRegistry() |
SharedObjectProvider |
lookup(java.lang.String name) |
void |
makePersistent(long id,
ManageableType type) |
void |
makeTransient(PersistenceCapable o,
ManageableType type) |
void |
readData(PersistenceCapable o,
Transaction.Reader reader) |
ResolvableReference |
readReference(PersistenceInput in) |
void |
removeComponent(PersistenceCapable o,
PersistenceField field,
int[] indices,
Transaction.Reader reader) |
void |
removeEdgeBits(Node source,
Node target,
int mask) |
void |
removeFileSystemListener(javax.swing.event.TreeModelListener l) |
void |
removeTreeModelListener(javax.swing.event.TreeModelListener l) |
static void |
setCurrent(RegistryContext current) |
void |
setEmptyGraph() |
void |
setField(PersistenceCapable o,
PersistenceField field,
int[] indices,
Transaction.Reader reader) |
void |
setMethodDescription(java.util.ArrayList<MethodDescriptionContent> methods) |
void |
setProjectName(java.lang.String projectName) |
java.lang.Object |
setUserProperty(int id,
java.lang.Object value) |
void |
startup() |
void |
substituteFileSystem(FileSystem newfs) |
void |
transactionApplied(Transaction.Data xa,
boolean rollback) |
Type |
typeForName(java.lang.String name) |
void |
valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue) |
void |
writeObject(Shareable object,
PersistenceOutput out) |
public static final JoinedFileSystem ALL_FILE_SYSTEMS
public static final MimeType MIME_TYPE
public static final java.lang.String NAMESPACE
public static final JoinedFileSystem PLUGIN_FILE_SYSTEMS
public static final java.lang.String PROJECT_GRAPH
public static final java.lang.String REGISTRY_GRAPH
public Registry(Registry parentRegistry)
public final boolean activateItems()
public void addEdgeBits(Node source, Node target, int mask)
addEdgeBits in interface GraphTransaction.Consumerpublic void addFileSystemListener(javax.swing.event.TreeModelListener l)
public SONodeReference addSharedObject(java.lang.String directory, Shareable object, java.lang.String name, boolean objDescribes)
SharedObjectNode for object to the meta-graph
(see GraphManager.META_GRAPH) of the
project graph (see getProjectGraph()), and creates
a reference to this node in the specified directory
of this registry. The name is chosen based on name
in the same way as in
Item.addUserItemWithUniqueName(Item, String).directory - absolute path where to insert reference itemobject - object for which references shall be createdname - base name to useobjDescribes - true iff object
shall be queried for descriptions (e.g., for the icon)object in registrypublic void addTreeModelListener(javax.swing.event.TreeModelListener l)
addTreeModelListener in interface javax.swing.tree.TreeModelpublic static int allocatePropertyId()
public void begin()
begin in interface Transaction.Consumerpublic final void beginXA()
public java.lang.Class classForName(java.lang.String name)
throws java.lang.ClassNotFoundException
classForName in interface TypeLoaderjava.lang.ClassNotFoundExceptionpublic final void commitXA(boolean activateItems)
public void createGraphs(PersistenceConnection conn)
public org.xml.sax.ContentHandler createXMLReader()
public SAXSource createXMLSource(java.util.Collection requiredPlugins, XMLSerializer.Filter filter)
public static Registry current()
public void dispose()
public void end()
end in interface Transaction.Consumerpublic boolean equals(java.lang.Object a,
java.lang.Object b)
equals in interface TreeDiff.NodeModelpublic Item[] findAll(ItemCriterion c, java.lang.Object info, boolean resolve)
public Item findFirst(ItemCriterion c, java.lang.Object info, boolean resolve)
public Item findMax(ItemComparator c, java.lang.Object info, boolean resolve)
public void forAll(ItemCriterion c, java.lang.Object info, ItemVisitor cb, java.lang.Object cbInfo, boolean resolve)
public int getActivationStamp()
public java.lang.Object getChild(java.lang.Object parent,
int index)
getChild in interface javax.swing.tree.TreeModelpublic int getChildCount(java.lang.Object parent)
getChildCount in interface javax.swing.tree.TreeModelpublic java.lang.ClassLoader getClassLoader()
getClassLoader in interface TypeLoaderpublic TreeDiff.DiffInfo getDiffInfo(java.lang.Object node)
getDiffInfo in interface TreeDiff.NodeModelpublic Item getDirectory(java.lang.String path, PluginDescriptor plugin)
path
or create such an item if does not yet exist.
plugin is stored as the plugin that was responsible for
creating the item (only if an item was created).
plugin may be null to signal
that there is no responsible instance.path - absolute pathplugin - descriptor of responsible pluginpublic java.util.Collection getFiles()
public FileSystem getFileSystem()
public final java.lang.String getFileSystemName()
public java.lang.Object getImportAttribute(java.lang.String key)
public int getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
getIndexOfChild in interface javax.swing.tree.TreeModelpublic Item getItem(java.lang.String key)
public java.lang.Object getLock()
public java.util.logging.Logger getLogger()
public java.util.ArrayList<MethodDescriptionContent> getMethodList()
public java.util.ArrayList<java.lang.String> getMethodNameList()
public Registry getParentRegistry()
public PluginDescriptor getPluginDescriptor(java.lang.String pluginId)
public final Item getPluginDirectory()
public final java.lang.Object getProjectFile(java.lang.String systemId)
public GraphManager getProjectGraph()
public java.lang.String getProjectName()
public java.lang.String getProviderName()
getProviderName in interface SharedObjectProviderpublic Registry getRegistry()
RegistryContextRegistry which is linked with this instance.getRegistry in interface RegistryContextpublic GraphManager getRegistryGraph()
public java.lang.Object getRoot()
getRoot in interface javax.swing.tree.TreeModelpublic Registry getRootRegistry()
public final Transaction getTransaction()
public java.lang.Object getUserProperty(int id)
public java.lang.Object getWriteLock()
public void initFileSystem(FileSystem fileSystem)
public void initialize()
public void insertComponent(PersistenceCapable o, PersistenceField field, int[] indices, Transaction.Reader reader)
insertComponent in interface Transaction.Consumerpublic final void invokeAfterCommit(java.lang.Runnable r)
public boolean isActive()
public boolean isLeaf(java.lang.Object node)
isLeaf in interface javax.swing.tree.TreeModelpublic final boolean isRootRegistry()
public SharedObjectProvider lookup(java.lang.String name)
lookup in interface SharedObjectProvider.Bindingpublic void makePersistent(long id,
ManageableType type)
makePersistent in interface Transaction.Consumerpublic void makeTransient(PersistenceCapable o, ManageableType type)
makeTransient in interface Transaction.Consumerpublic void readData(PersistenceCapable o, Transaction.Reader reader)
readData in interface Transaction.Consumerpublic ResolvableReference readReference(PersistenceInput in) throws java.io.IOException
readReference in interface SharedObjectProviderjava.io.IOExceptionpublic void removeComponent(PersistenceCapable o, PersistenceField field, int[] indices, Transaction.Reader reader)
removeComponent in interface Transaction.Consumerpublic void removeEdgeBits(Node source, Node target, int mask)
removeEdgeBits in interface GraphTransaction.Consumerpublic void removeFileSystemListener(javax.swing.event.TreeModelListener l)
public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
removeTreeModelListener in interface javax.swing.tree.TreeModelpublic static void setCurrent(RegistryContext current)
public void setEmptyGraph()
public void setField(PersistenceCapable o, PersistenceField field, int[] indices, Transaction.Reader reader)
setField in interface Transaction.Consumerpublic void setMethodDescription(java.util.ArrayList<MethodDescriptionContent> methods)
public void setProjectName(java.lang.String projectName)
public java.lang.Object setUserProperty(int id,
java.lang.Object value)
public void startup()
public void substituteFileSystem(FileSystem newfs) throws java.io.IOException
java.io.IOExceptionpublic void transactionApplied(Transaction.Data xa, boolean rollback)
transactionApplied in interface XAListenerpublic Type typeForName(java.lang.String name) throws java.lang.ClassNotFoundException
typeForName in interface TypeLoaderjava.lang.ClassNotFoundExceptionpublic void valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue)
valueForPathChanged in interface javax.swing.tree.TreeModelpublic void writeObject(Shareable object, PersistenceOutput out) throws java.io.IOException
writeObject in interface SharedObjectProviderjava.io.IOException