Class ItemInfoImpl
- java.lang.Object
-
- ru.vyarus.dropwizard.guice.module.context.info.impl.ItemInfoImpl
-
- All Implemented Interfaces:
ItemInfo
- Direct Known Subclasses:
ClassItemInfoImpl
,InstanceItemInfoImpl
public class ItemInfoImpl extends java.lang.Object implements ItemInfo
Item info implementation.- Since:
- 06.07.2016
-
-
Constructor Summary
Constructors Constructor Description ItemInfoImpl(ConfigItem itemType, ItemId id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
countRegistrationAttempt(ItemId scope)
ItemId
getId()
Items could be registered by class and by instance.int
getIgnoresByScope(java.lang.Class<?> scope)
Shortcut forItemInfo.getIgnoresByScope(ItemId)
.int
getIgnoresByScope(ItemId scope)
Required to show ignored items in the same scope as actual registration.ConfigItem
getItemType()
java.util.Set<ItemId>
getRegisteredBy()
Configuration items may be registered by root application class, classpath scan or guicey bundle.int
getRegistrationAttempts()
It may be 0 for disabled items (e.g. installer disabled but never registered).ItemId
getRegistrationScope()
Item may be registered multiple times.ConfigScope
getRegistrationScopeType()
It is essentially the same asItemInfo.getRegistrationScope()
, but with generified guicey bundle scope.java.lang.Class<?>
getType()
boolean
isRegistered()
Useful to recognize not registered info items appeared for example because of item disabling.boolean
isRegisteredDirectly()
java.lang.String
toString()
-
-
-
Constructor Detail
-
ItemInfoImpl
public ItemInfoImpl(ConfigItem itemType, ItemId id)
-
-
Method Detail
-
getId
public ItemId getId()
Description copied from interface:ItemInfo
Items could be registered by class and by instance. In case of instance registration, multiple instances could be provided with the same class. For class registrations item id is equal to pure class.
-
getItemType
public ConfigItem getItemType()
- Specified by:
getItemType
in interfaceItemInfo
- Returns:
- configuration item type (e.g. installer, bundle, extension etc)
-
getType
public java.lang.Class<?> getType()
-
getRegisteredBy
public java.util.Set<ItemId> getRegisteredBy()
Description copied from interface:ItemInfo
Configuration items may be registered by root application class, classpath scan or guicey bundle. For registrations in application classApplication
is stored as context. For registration by classpath scanClasspathScanner
is stored as context. For registrations byGuiceyBundle
, actual bundle class is stored as context. Bundle items may also haveGuiceyBundleLookup
as context classe for bundles resolved by lookup mechanism.May not contain elements if item was never registered, but for example, disabled.
To quick check if exact scope class is present use
ItemId.from(class)
, which will match any class instance related scope key.- Specified by:
getRegisteredBy
in interfaceItemInfo
- Returns:
- context classes which register item or empty collection
- See Also:
for the list of all special scopes
-
getRegistrationAttempts
public int getRegistrationAttempts()
Description copied from interface:ItemInfo
It may be 0 for disabled items (e.g. installer disabled but never registered). Also, count may be greater than registration sources count, because the same source could register item multiple times.- Specified by:
getRegistrationAttempts
in interfaceItemInfo
- Returns:
- count of item registrations
-
isRegistered
public boolean isRegistered()
Description copied from interface:ItemInfo
Useful to recognize not registered info items appeared for example because of item disabling.- Specified by:
isRegistered
in interfaceItemInfo
- Returns:
- true if item was registered, false otherwise
-
isRegisteredDirectly
public boolean isRegisteredDirectly()
- Specified by:
isRegisteredDirectly
in interfaceItemInfo
- Returns:
- true if item directly registered through
GuiceBundle.Builder
, false otherwise.
-
getRegistrationScope
public ItemId getRegistrationScope()
Description copied from interface:ItemInfo
Item may be registered multiple times. For class items (e.g. extension) only first scope will be actual registration scope (and registrations from other scopes will be simply ignored). For instance items (bundle, module), different objects of the same type will be registered according toDuplicateConfigDetector
).May be null for never registered but disabled items!
- Specified by:
getRegistrationScope
in interfaceItemInfo
- Returns:
- registration scope
- See Also:
for all scopes performing registratoin
-
getRegistrationScopeType
public ConfigScope getRegistrationScopeType()
Description copied from interface:ItemInfo
It is essentially the same asItemInfo.getRegistrationScope()
, but with generified guicey bundle scope. May be useful for generic reporting.- Specified by:
getRegistrationScopeType
in interfaceItemInfo
- Returns:
- type of registration scope
-
getIgnoresByScope
public int getIgnoresByScope(ItemId scope)
Description copied from interface:ItemInfo
Required to show ignored items in the same scope as actual registration.When checked bundles by class only item (
ItemId.from(Bundle.class)
) it wil return sum of registrations for all instances of type.- Specified by:
getIgnoresByScope
in interfaceItemInfo
- Parameters:
scope
- scope- Returns:
- number of ignored items in scope
-
getIgnoresByScope
public int getIgnoresByScope(java.lang.Class<?> scope)
Description copied from interface:ItemInfo
Shortcut forItemInfo.getIgnoresByScope(ItemId)
.- Specified by:
getIgnoresByScope
in interfaceItemInfo
- Parameters:
scope
- scope type to check ignores- Returns:
- number of ignored items in all scopes of specified type
-
countRegistrationAttempt
public void countRegistrationAttempt(ItemId scope)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-